js-vue-swipe图片放大—踩坑

Posted JunviZeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-vue-swipe图片放大—踩坑相关的知识,希望对你有一定的参考价值。

基于photoswipe实现的vue图片预览组件

  1. 安装

        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图片放大—踩坑的主要内容,如果未能解决你的问题,请参考以下文章

前端怎么实现点击图片将图片放大而且图片可以手势随意缩放,最好附上代码,非常感谢

求一个简单的点击图片放大缩小的JS代码

ios h5踩坑关于ios上嵌入h5导致input聚焦时页面自动放大问题

Vue踩坑日记:Scoped下动画无效,曾经以为百利而无一害的Scoped,也有自己的限制

angular js 鼠标移过图片放大,就是放在图片上图片放大 或者反击,

通过Java代码实现图片的放大和缩小