发布网友 发布时间:2022-04-20 11:44
共2个回答
懂视网 时间:2022-05-14 19:33
本篇文章给大家带来的内容是关于vue图片预览插件如何创建(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。基于photoswipe实现的vue图片预览组件
1 第一步
npm instatll 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>
只暴露了一个方法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: '<p class="pswp__error-msg">图片加载失败</p>', }
热心网友 时间:2022-05-14 16:41
previewer组件使用`photoswipe`很不友好。必须指定图片的高宽像素,这点在实际使用很不现实,建议换成`blueimp-gallery`。 scroller在安卓卡顿严重,自己通过`window.addEventListener('scroll', function () {})`实现就不会卡。