zoukankan      html  css  js  c++  java
  • 实现一个vue的图片预览插件

    vue-image-swipe

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

    安装

    1 第一步

    
    npm install vue-image-swipe -D
    

    2 第二步

    vue 入口文件引入

    
    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" alt="">
          </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>
    

    methods

    只暴露了一个方法this.$imagePreview,并绑定到vue的原型上
    使用

    
    this.$imagePreview(options = {})
    

    options有三个参数

    参数 默认值 说明
    images 空数组 图片的url数组
    index 0 预览图片的索引值, 默认是0
    defaultOpt {} 配置项

    defaultOpt 的配置项请参考photoswipe配置项
    注意:不能保证所有配置项都是可用的

    列举一些常用的配置

    
    defaultOpt: {
      fullscreenEl: true,
      shareEl: false,
      arrowEl: true,
      preloaderEl: true,
      loop: false,
      bgOpacity: 0.85,
      showHideOpacity: true,
      errorMsg: '<div class="pswp__error-msg">图片加载失败</div>',
    }
    

    demo

    demo

    查看源码

    来源:https://segmentfault.com/a/1190000016409430

  • 相关阅读:
    1002. 查找常用字符『简单』
    1108. IP 地址无效化『简单』
    1137. 第 N 个泰波那契数『简单』
    1154. 一年中的第几天『简单』
    1185. 一周中的第几天『简单』
    1207. 独一无二的出现次数『简单』
    暑期集训模拟赛3
    暑期集训模拟赛2
    暑期集训模拟赛1
    CF526F Pudding Monsters 【分治】
  • 原文地址:https://www.cnblogs.com/lovellll/p/10139212.html
Copyright © 2011-2022 走看看