ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vue中使用viewer.js 插件

2021-03-29 15:32:15  阅读:332  来源: 互联网

标签:插件 vue item viewer 布尔值 Viewer true 图片


一、预览图

在这里插入图片描述

二、地址及参数

viewer.js GitHub地址:https://github.com/fengyuanchen/viewerjs
演示地址:https://fengyuanchen.github.io/viewerjs/

名称类型默认值说明
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 模式时的层级
url字符串/函数src设置大图片的 url
build函数null回调函数,具体查看演示
built函数null回调函数,具体查看演示
show函数null回调函数,具体查看演示
hide函数null回调函数,具体查看演示
view函数null回调函数,具体查看演示

三、代码示例

3.1 引入组件

全局引入:

import 'viewerjs/dist/viewer.css';
import Viewer from 'v-viewer'; //图片浏览组件
Vue.component('Viewer', Viewer);
Vue.use(Viewer, {
    defaultOptions: {
        zIndex: 9999
    }
});
Viewer.setDefaults({
    Options: {
        'inline': false,
        'button': true,
        'navbar': false,
        'title': false,
        'toolbar': true,
        'tooltip': true,
        'movable': true,
        'zoomable': true,
        'rotatable': true,
        'scalable': true,
        'transition': true,
        'fullscreen': true,
        'keyboard': true,
        'url': 'data-source'
    }
});

局部引入:

import 'viewerjs/dist/viewer.css';
import Viewer from 'v-viewer'; //图片浏览组件
export default {
        components: {
           Viewer 
        },
}

3.2 html

<viewer ref="viewer" :options="options" :images='imgArr' style="display: none;" @inited="inited">
      <img v-for="(src,index) in imgArr" :key="index" :src="src" :onerror="errorDefaultImg">
</viewer>

3.3 js

data(){
	return{
		imgArr: [], //存放所有的图片地址
        options: {
           	title: false, //预览组件-不显示标题
         },
         index: 0, //当前图片的索引
         errorDefaultImg: require('../../../../assets/none-img.jpg'),//错误图片处理(虽然我也不知道为啥不太好使)
	}
},
methods: {
	//获取请求数据
	getListData() {
      	const params = {search: this.searchVal, pageSize: this.pageSize, page: this.page};
         getImages(params).then(res => {
            	this.imgArr = [];
                if (res.code == 0) {
                    const dataArr = res.data;
                    this.listData = dataArr.map(item => {
                         if (item.path) this.imgArr.push(item.path);// 预览组件传的值
                         if (item.path == this.value)item.selected = true;
                          else item.selected = false;
                            return item;
                     });
                     this.total = res.total;
                 }
           });
     },
	//初始化预览组件
     inited(viewer) {
         this.$viewer = viewer;
     },

     onPreview: debounce(function (imgIndex) {
         // 显示预览组件
         this.$viewer.show();
         // 从当前图片开始预览
         this.$viewer.view(imgIndex);
     }, 300),
}

完结撒花~

标签:插件,vue,item,viewer,布尔值,Viewer,true,图片
来源: https://blog.csdn.net/Little_Fishs/article/details/115301105

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有