1.0.3 • Published 5 years ago

vue-scale-box v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

vue-scale-box

A vue scale box component, for browsing large image and content, support interaction by both mouse and touch.

一个简单的缩放盒子组件,支持鼠标和触摸操作,用于浏览尺寸较大的图片、文档等。

npm.io npm.io npm.io

How to use / 如何使用

Install / 安装

npm install vue-scale-box
// or install from github reponsitory
npm install https://github.com/ferrinweb/vue-scale-box.git

// or use yarn / 推荐使用 yarn
yarn add vue-scale-box
// or install from github reponsitory
yarn add https://github.com/ferrinweb/vue-scale-box.git

Import / 引入

// global import / 全局引入
import scaleBox from 'vue-scale-box'
Vue.use(scaleBox)

// import on demand in your vue component file. / 按需引入
import scaleBox from 'vue-scale-box'
export default {
  components: {
    scaleBox
  },
  ...
}

Use and demo / 使用及示例

You can ckeckout this repository and try this demo.

你可以直接检出 vue-scale-box 源码到本地,查看示例。

<template>
  <div id="app">
    <scale-box ref="scaleBox">
      <img :style="'opacity: ' + (loaded - 0)" @load="sourceLoaded" :src="src">
    </scale-box>
  </div>
</template>

<script>
import scaleBox from './lib/scale-box'

export default {
  name: 'App',
  components: {
    scaleBox
  },
  data () {
    return {
      loaded: false,
      src: 'https://lorempixel.com/1440/900/nature'
    }
  },
  methods: {
    sourceLoaded () {
      this.loaded = true
      // If the content is an image or contains images,
      // execute the update method after all of images are loaded.
      this.$refs.scaleBox.update()
    }
  }
}
</script>

<style>
  html, body {
    margin: 0;
    width: 100%;
    height: 100%;
  }

  body{
    box-sizing: border-box;
    padding: 50px 0;
  }

  #app {
    width: 720px;
    height: 450px;
    margin: auto;
    background-color: #f9f9f9;
    box-shadow: rgba(0,0,0,.3) 0 2px 10px;
    border: #fff 1px solid;
  }
  img {
    display: block;
  }
</style>

Slots / 插槽

名称说明默认值
default放置到缩放盒子的内容

Attributes / 属性

名称说明默认值
maxRatio最大方法比例3
minRatio最小缩小比例0.1
originalSizeText原始尺寸按钮文本Original Size
fitPageText适应页面(当前容器)尺寸Fit Page
initRatioType默认初始化缩放模式和比率。no-scaling:初始化时不进行缩放;fit-when-large:初始化时仅当内容尺寸大于容器尺寸条件下按照适应页面缩小;fit-when-small:初始化时仅当内容尺寸小于容器尺寸条件下按照适应页面放大;fit:初始化时总是按适应页面进行缩放;number:如果设置为正数数字,则初始化缩放比率设置为该值。fit-when-large

Methods / 方法

名称说明参数
update更新缩放盒子内容尺寸等参数

Lisence

MIT Lisence.

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago