vue基于viewer實(shí)現(xiàn)的圖片查看器功能
vue2-viewer
vue2-viewer 是一款強(qiáng)大的圖像瀏覽插件,可以實(shí)現(xiàn)圖像的放大預(yù)覽,旋轉(zhuǎn),任意比例放大和縮小等功能
vue2-viewer 是viewer.js vue的實(shí)現(xiàn),效果以及樣式完全移植自viewer.js關(guān)于viewer.js可以參考鏈接
[http://fengyuanchen.github.io...]
插件中所有的效果均大量地使用了css3的新特性替換了viewer.js中的js動(dòng)畫,所以vue2-viewer主要實(shí)用場(chǎng)景是現(xiàn)代瀏覽器中。
使用文檔
安裝
npm install --save vue2-viewer
在main.js中引入并使用插件
import ImageViewer from 'vue2-viewer'; Vue.use(ImageViewer);
插件會(huì)在全局注冊(cè)vue-viewer組件
使用組件
vue2-viewer 提供兩種使用模式,單圖片模式和多圖列表模式。
單圖片模式
props
| 參數(shù) | 說明 | 類型 | 必須 |
|---|---|---|---|
| thumb | 要顯示的小圖的鏈接 | string | true |
| full | 點(diǎn)擊放大后的大圖鏈接 | string | true |
示例:
<vue-viewer style="display: inline-block"
:thumb="image"
:full="image">
</vue-viewer>
<script>
export default {
name: 'app',
data () {
return {
msg: 'vue2-viewer-test',
image: 'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3427452369,2586833644&fm=173&app=25&f=JPEG?w=580&h=347&s=908FF35A050626E2428C001E030090D6',
}
}
}
</script>
效果展示:

多圖片模式
props
| 參數(shù) | 說明 | 類型 | 必須 |
|---|---|---|---|
| thumb | 要顯示的小圖列表的鏈接數(shù)組 | array | true |
| full | 點(diǎn)擊放大后的大圖的鏈接數(shù)組 | array | true |
| list-ul-class | 默認(rèn)小圖的列表外層ul的自定義class 用于自定義列表的樣式,包括ul內(nèi)部的slot的內(nèi)容的樣式都可以通過這個(gè)方式自定義 | string | false |
Scoped Slot
| name | 說明 |
|---|---|
| ~ | 列表中的每一個(gè)元素中除了默認(rèn)圖以外的內(nèi)容 |
示例:
<vue-viewer multiple
:thumb="imageList"
list-ul-class="image-list"
:full="imageList">
<!--在列表中加入右上角刪除按鈕-->
<template slot-scope="target">
<span class="icon-remove" @click.stop="onRemove(target.index)" style="">×</span>
</template>
</vue-viewer>
<script>
export default {
name: 'app',
data () {
return {
msg: 'vue2-viewer-test',
imageList: [
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1550224739247&di=512032866bea6329b1e46c735d50ac8b&imgtype=0&src=http%3A%2F%2Fimglf2.ph.126.net%2FdHH6OM2rD8JucPGAotUfag%3D%3D%2F6608219914074710297.jpg',
'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=488030022,1694816207&fm=173&app=25&f=JPEG?w=580&h=347&s=A08FB35A5E0616C664F5631C030010D6',
'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2574767313,3929397124&fm=173&app=25&f=JPEG?w=580&h=868&s=B784EEA3460236E17A1F137F0300A058'
]
}
},
methods: {
onRemove(index) {
alert(index);
}
}
}
</script>
<style>
.image-list{
margin: 0; padding: 0
}
.image-list li {
display: inline-block;
margin: 0 10px;
list-style: none;
position: relative;
}
.image-list li img {
box-shadow: 0 0 5px #333;
}
.icon-remove{
width: 20px; height:20px;
text-align: center; line-height: 20px;
background:#f33;
position:absolute; top:-10px; right:-10px;
border-radius: 10px;
cursor: pointer;
color:#fff;
}
a {
color: #42b983;
}
</style>
效果展示:

總結(jié)
以上所述是小編給大家介紹的vue基于viewer實(shí)現(xiàn)的圖片查看器功能,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
vue-auto-focus: 控制自動(dòng)聚焦行為的 vue 指令方法
今天小編就為大家分享一篇vue-auto-focus: 控制自動(dòng)聚焦行為的 vue 指令方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-08-08
vue 實(shí)現(xiàn)無(wú)規(guī)則截圖
這篇文章主要介紹了vue 實(shí)現(xiàn)無(wú)規(guī)則截圖的方法,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下2021-04-04
vue組件講解(is屬性的用法)模板標(biāo)簽替換操作
這篇文章主要介紹了vue組件講解(is屬性的用法)模板標(biāo)簽替換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-09-09
Vue 過渡(動(dòng)畫)transition組件案例詳解
這篇文章主要介紹了Vue 過渡(動(dòng)畫)transition組件案例詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-01-01
解決Vue keep-alive 調(diào)用 $destory() 頁(yè)面不再被緩存的情況
這篇文章主要介紹了解決Vue keep-alive 調(diào)用 $destory() 頁(yè)面不再被緩存的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2020-10-10
腳手架vue-cli工程webpack的作用和特點(diǎn)
webpack是一個(gè)模塊打包的工具,它的作用是把互相依賴的模塊處理成靜態(tài)資源。這篇文章主要介紹了vue-cli工程webpack的作用和特點(diǎn),需要的朋友可以參考下2018-09-09

