美文网首页前端开发那些事儿
在vue项目中使用viewerjs

在vue项目中使用viewerjs

作者: kingLeft7 | 来源:发表于2021-03-18 09:42 被阅读0次
    image.png

    1.进行安装

    npm install viewerjs

    2.在main.js中引入

    import Vue from 'vue';
    import Viewer from 'v-viewer';
    import 'viewerjs/dist/viewer.css';
    
    //按需引入
    
    Vue.use(Viewer);
    Viewer.setDefaults({
        'inline':true,
        'button':true, //右上角按钮
        "navbar": true, //底部缩略图
        "title": true, //当前图片标题
        "toolbar": true, //底部工具栏
        "tooltip": true, //显示缩放百分比
        "movable": true, //是否可以移动
        "zoomable": true, //是否可以缩放
        "rotatable": true, //是否可旋转
        "scalable": true, //是否可翻转
        "transition": true, //使用 CSS3 过度
        "fullscreen": true, //播放时是否全屏
        "keyboard": true, //是否支持键盘
        "url": "data-source",
        ready: function (e) {
          console.log(e.type,'组件以初始化');
        },
        show: function (e) {
          console.log(e.type,'图片显示开始');
        },
        shown: function (e) {
          console.log(e.type,'图片显示结束');
        },
        hide: function (e) {
          console.log(e.type,'图片隐藏完成');
        },
        hidden: function (e) {
          console.log(e.type,'图片隐藏结束');
        },
        view: function (e) {
          console.log(e.type,'视图开始');
        },
        viewed: function (e) {
          console.log(e.type,'视图结束');
          // 索引为 1 的图片旋转20度
          if(e.detail.index === 1){
              this.viewer.rotate(20);
          }
        },
        zoom: function (e) {
          console.log(e.type,'图片缩放开始');
        },
        zoomed: function (e) {
          console.log(e.type,'图片缩放结束');
        }
      })
    
    <template>
      <div class="invoiceImgBox">
        <viewer style="display:flex; flex-wrap: wrap;padding:20px" :images="detail.platform.platform_img_arr" class="descimgBox">
      <img v-for="(decImg, index) in detail.platform.platform_img_arr" :key="index"  :src="decImg"  v-lazy="decImg">
    </viewer>
      </div> 
    </template>
    
    <script>
    import { InvoiceShow } from "@/api/estate";
    export default {
      data() {
        return {
          detail: null,
        };
      },
      mounted() {
        this.invoiceShow();
      },
      methods: {
        invoiceShow() {
          let data = {
            invoice_log_id: this.$route.query.id,
          };
          InvoiceShow(data).then((res) => {
            this.detail = res.data.data;
          });
        },
      },
    };
    </script>
    

    名称 类型 默认值 说明
    inline 布尔值false启用 inline 模式
    button 布尔值 true 显示右上角关闭按钮(jQuery 版本无效)
    navbar 布尔值/整型 true 显示缩略图导航
    title 布尔值/整型 true 显示当前图片的标题(现实 alt 属性及图片尺寸)
    toolbar 布尔值/整型 true 显示工具栏
    tooltip 布尔值 true 显示缩放百分比
    movable 布尔值 true 图片是否可移动
    zoomable 布尔值 true 图片是否可缩放
    rotatable 布尔值 true 图片是否可旋转
    scalable 布尔值 true 图片是否可翻转
    transition 布尔值 true 使用 CSS3 过度
    fullscreen 布尔值 true 播放时是否全屏
    keyboard 布尔值 true 是否支持键盘
    interval 整型 5000 播放间隔,单位为毫秒
    zoomRatio 浮点型 0.1 鼠标滚动时的缩放比例
    minZoomRatio 浮点型 0.01 最小缩放比例
    maxZoomRatio 数字 100 最大缩放比例
    zIndex 数字 2015 设置图片查看器 modal 模式时的 z-index
    zIndexInline 数字 0 设置图片查看器 inline 模式时的 z-index
    url 字符串/函数 src 设置大图片的 url
    build 函数 null 回调函数
    built 函数 null 回调函数
    show 函数 null 回调函数
    shown 函数 null 回调函数
    hide 函数 null 回调函数
    hidden 函数 null 回调函数
    view 函数 null 回调函数
    viewed 函数 null 回调函数

    相关文章

      网友评论

        本文标题:在vue项目中使用viewerjs

        本文链接:https://www.haomeiwen.com/subject/rnkucltx.html