vue项目中使用viewer.js
2019-03-23 本文已影响1122人
linqii
因项目需求,需要实现点击图片可以预览放大旋转切换等,这个时候!!自己写比较麻烦,所以选择了站在巨人的肩膀上...
插件 viewer.js,GitHub地址:https://github.com/fengyuanchen/viewerjs
它的功能很全面,各位有需求请移步文档~~以下简单示例:
-
安装:
npm install viewerjs -
引入:
import Vue from 'vue';
import Viewer from 'v-viewer';
import 'viewerjs/dist/viewer.css'; -
代码中使用:
<template>
<div id="imgTooles">
<ul>
<li v-for="(item,index)in this.imgList " :key="index">
<img :data-original='`${item}`' :src="item">
</li>
</ul>
</div>
</template>
<script>
import Viewer from 'viewerjs';
import 'viewerjs/dist/viewer.css';
export default {
mounted(){
this.getInfo();
},
data(){
return{
imgList : [],
}
},
methods:{
getInfo(){
//发送ajax请求图片list
//...
//this.imgList = res.data.list;
//重点:要在图片已经请求到再调用!!
this.$nextTick(() => {
this.initImageTools();
});
},
initImageTools(){
//初始化 viewerjs
const ViewerDom = document.getElementById('imgTooles');
const viewer = new Viewer(ViewerDom, {
url: "data-original"
});
},
}
}
</script>
- 总结:如dom结构为js动态插入,初始化会失效,此时应将初始化操作放在dom结构插入完成后进行 。