js-vue-swipe图片放大—踩坑
Posted JunviZeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-vue-swipe图片放大—踩坑相关的知识,希望对你有一定的参考价值。
基于photoswipe实现的vue图片预览组件
-
安装
npm install vue-image-swipe -D
引用
import Vue from ‘vue‘ import VueImageSwipe from ‘vue-image-swipe‘ import ‘vue-image-swipe/dist/vue-image-swipe.css‘ Vue.use(VueImageSwipe)
使用
<template> <div> hello world <div> <ul> <li :key="index" @click="preview(index)" v-for="(l, index) in images"> <img :src="l" > </li> </ul> </div> </div> </template> <script> export default { name: ‘app‘, data() { return { images: [ ‘http://oayhezji6.bkt.clouddn.com/preview1.jpg‘, ‘http://oayhezji6.bkt.clouddn.com/preview2.jpg‘, ‘http://oayhezji6.bkt.clouddn.com/preview3.jpg‘, ‘http://oayhezji6.bkt.clouddn.com/preview9.jpg‘, ‘http://oayhezji6.bkt.clouddn.com/preview10.jpg‘, ‘http://oayhezji6.bkt.clouddn.com/preview6.jpg‘ ] } }, created() { }, methods: { preview(index) { this.$imagePreview({ images: this.images, index: index, }) } } } </script>
上面是官方给的文档例子,可是关于this.$imagePreview中的images官方的解释为:图片的url数组
可是却没有说明一个坑:当传递到的images图片的url链接没有在页面进行加载的时候(没有使用img标签引用),那么第一次调用$imagePreview会导致图片无法显示
解决方案:
将 images数组的url数组进入页面的时候,使用img标签提前进行预加载,加上css display:none不显示即可
以上是关于js-vue-swipe图片放大—踩坑的主要内容,如果未能解决你的问题,请参考以下文章
前端怎么实现点击图片将图片放大而且图片可以手势随意缩放,最好附上代码,非常感谢
ios h5踩坑关于ios上嵌入h5导致input聚焦时页面自动放大问题
Vue踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制