基於photoswipe實現的vue圖片預覽組件javascript
1 第一步css
npm install vue-image-swipe -D
2 第二步html
vue 入口文件引入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>
只暴露了一個方法this.$imagePreview,並綁定到vue的原型上
使用java
this.$imagePreview(options = {})
options有三個參數git
參數 | 默認值 | 說明 |
---|---|---|
images | 空數組 | 圖片的url數組 |
index | 0 | 預覽圖片的索引值, 默認是0 |
defaultOpt | {} | 配置項 |
defaultOpt 的配置項請參考photoswipe配置項,
注意:不能保證全部配置項都是可用的github
列舉一些經常使用的配置npm
defaultOpt: { fullscreenEl: true, shareEl: false, arrowEl: true, preloaderEl: true, loop: false, bgOpacity: 0.85, showHideOpacity: true, errorMsg: '<div class="pswp__error-msg">圖片加載失敗</div>', }
demo數組
查看源碼app