From: https://www.jianshu.com/p/e3350aa1b0d0css
在看項目時,忽然看到預覽圖片的彈窗,感受好僵硬,不能放大,不能切換,因而便在網上找下關於圖片預覽的插件,有找到三個插件,具體的優劣勢的看本身的使用吧,我目前只是在電腦查看效果,分別是viewerjs插件、基於photoswipe的vue-photo-preview插件以及vue-picture-preview插件html
一、先安裝依賴
npm install v-viewer --savevue
二、main.js內引用並註冊調用git
//main.js import Viewer from 'v-viewer' import 'viewerjs/dist/viewer.css' Vue.use(Viewer); Viewer.setDefaults({ Options: { "inline": true, "button": true, "navbar": true, "title": true, "toolbar": true, "tooltip": true, "movable": true, "zoomable": true, "rotatable": true, "scalable": true, "transition": true, "fullscreen": true, "keyboard": true, "url": "data-source" } });
三、代碼中使用xxx.vuegithub
<template> <div class="content"> <h1>Viewer圖片預覽插件</h1> <viewer :images="imgs"> <img v-for="src in imgs" :src="src.url" :key="src.title"> </viewer> </div> </template> <script> export default { data () { return { imgs: [ { url: 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=85690711,3884201894&fm=27&gp=0.jpg', title: '圖片1' }, { url: 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3564877025,796183547&fm=27&gp=0.jpg', title: '圖片2' } ] } }, } </script>
一、先安裝依賴
npm install vue-photo-preview --savenpm
二、main.js內引用並註冊調用app
//main.js import preview from 'vue-photo-preview' import 'vue-photo-preview/dist/skin.css' Vue.use(preview)
三、代碼中使用xxx.vueurl
<template> <div class="content"> <section> <h1>preview圖片預覽插件</h1> <img v-for="src in imgs" :src="src.url" :key="src.title" :preview="src.preview" :preview-text="src.title"> </section> </div> </template> <script> export default { data () { return { imgs: [ { url: 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=85690711,3884201894&fm=27&gp=0.jpg', title: '圖片1', preview: '1' }, { url: 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3564877025,796183547&fm=27&gp=0.jpg', title: '圖片2', preview: '1' } ] } }, } </script>
option配置請查看 http://photoswipe.com/documentation/options.htmlspa
一、先安裝依賴
npm install vue-picture-preview --save插件
二、main.js內引用並註冊調用
//main.js iimport vuePicturePreview from 'vue-picture-preview' Vue.use(vuePicturePreview)
三、在根組件添加 lg-preview 組件的位置
<!-- APP.vue --> <div id="app"> <router-view></router-view> <lg-preview></lg-preview> </div>
四、代碼中使用xxx.vue
<template> <div class="content"> <h1>vuePicturePreview圖片預覽插件</h1> <img v-for="(img,index) in imgs" v-preview="img.url" :src="img.url" :alt="img.title" :key="index" preview-title-enable="true" preview-nav-enable="true"> </div> </template> <script> export default { data () { return { imgs: [ { url: 'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=85690711,3884201894&fm=27&gp=0.jpg', title: '圖片1' }, { url: 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3564877025,796183547&fm=27&gp=0.jpg', title: '圖片2' } ] } }, } </script>
這三個插件介紹完了,除了第三種vue-picture-preview插件只有預覽和切換上下張功能,另外兩種都有放大和縮小(包括手勢)以及其餘功能。仍是蠻好上手的插件,但我是更喜歡第一種