今天就跟大家聊聊有關(guān)如何在Vue中使用v-viewer圖片瀏覽組件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
正定網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),正定網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為正定數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的正定做網(wǎng)站的公司定做!
v-viewer
用于圖片瀏覽的Vue組件,支持旋轉(zhuǎn)、縮放、翻轉(zhuǎn)等操作,基于viewer.js。
從0.x遷移
你需要做的唯一改動(dòng)就是手動(dòng)引入樣式文件:
import 'viewerjs/dist/viewer.css'
安裝
使用npm命令安裝
npm install v-viewer
使用
引入v-viewer及必需的css樣式,并使用Vue.use()注冊(cè)插件,之后即可使用。
<template> <div id="app"> <!-- directive --> <div class="images" v-viewer> <img src="1.jpg"> <img src="2.jpg"> ... </div> <!-- component --> <viewer :images="images"> <img v-for="src in images" :src="src" :key="src"> </viewer> </div> </template> <script> import 'viewerjs/dist/viewer.css' import Viewer from 'v-viewer' import Vue from 'vue' Vue.use(Viewer) export default { data() { images: ['1.jpg', '2.jpg'] } } </script>
以指令形式使用
只需要將v-viewer指令添加到任意元素即可,該元素下的所有img元素都會(huì)被viewer自動(dòng)處理。
你可以像這樣傳入配置項(xiàng): v-viewer="{inline: true}"
如果有必要,可以先用選擇器查找到目標(biāo)元素,然后可以用el.$viewer來(lái)獲取viewer實(shí)例。
<template> <div id="app"> <div class="images" v-viewer="{movable: false}"> <img v-for="src in images" :src="src" :key="src"> </div> <button type="button" @click="show">Show</button> </div> </template> <script> import 'viewerjs/dist/viewer.css' import Viewer from 'v-viewer' import Vue from 'vue' Vue.use(Viewer) export default { data() { images: ['1.jpg', '2.jpg'] }, methods: { show () { const viewer = this.$el.querySelector('.images').$viewer viewer.show() } } } </script>
指令修飾器
static
添加修飾器后,viewer的創(chuàng)建只會(huì)在元素綁定指令時(shí)執(zhí)行一次。
如果你確定元素內(nèi)的圖片不會(huì)再發(fā)生變化,使用它可以避免不必要的重建動(dòng)作。
<div class="images" v-viewer.static="{inline: true}"> <img v-for="src in images" :src="src" :key="src"> </div>
以組件形式使用
你也可以單獨(dú)引入全屏組件并局部注冊(cè)它。
使用作用域插槽來(lái)定制你的圖片展示方式。
監(jiān)聽(tīng)inited事件來(lái)獲取viewer實(shí)例,或者也可以用this.refs.xxx.$viewer這種方法。
<template> <div id="app"> <viewer :options="options" :images="images" @inited="inited" class="viewer" ref="viewer" > <template scope="scope"> <img v-for="src in scope.images" :src="src" :key="src"> {{scope.options}} </template> </viewer> <button type="button" @click="show">Show</button> </div> </template> <script> import 'viewerjs/dist/viewer.css' import Viewer from "v-viewer/src/component.vue" export default { components: { Viewer }, data() { images: ['1.jpg', '2.jpg'] }, methods: { inited (viewer) { this.$viewer = viewer }, show () { this.$viewer.show() } } } </script>
配置項(xiàng) & 方法
請(qǐng)參考viewer.js .
插件配置項(xiàng)
name
Type: String
Default: viewer
如果你需要避免重名沖突,可以像這樣引入:
<template> <div id="app"> <div class="images" v-vuer="{movable: false}"> <img v-for="src in images" :src="src" :key="src"> </div> <button type="button" @click="show">Show</button> </div> </template> <script> import 'viewerjs/dist/viewer.css' import Vuer from 'v-viewer' import Vue from 'vue' Vue.use(Vuer, {name: 'vuer'}) export default { data() { images: ['1.jpg', '2.jpg'] }, methods: { show () { const vuer = this.$el.querySelector('.images').$vuer vuer.show() } } } </script>
defaultOptions
Type: Object
Default: undefined
如果你需要修改viewer.js的全局默認(rèn)配置項(xiàng),可以像這樣引入:
import Viewer from 'v-viewer' import Vue from 'vue' Vue.use(Viewer, { defaultOptions: { zIndex: 9999 } })
你還可以在任何時(shí)候像這樣修改全局默認(rèn)配置項(xiàng):
import Viewer from 'v-viewer' import Vue from 'vue' Vue.use(Viewer) Viewer.setDefaults({ zIndexInline: 2017 })
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創(chuàng)建可維護(hù)性和可測(cè)試性更強(qiáng)的代碼庫(kù),Vue允許可以將一個(gè)網(wǎng)頁(yè)分割成可復(fù)用的組件,每個(gè)組件都包含屬于自己的HTML、CSS、JavaScript,以用來(lái)渲染網(wǎng)頁(yè)中相應(yīng)的地方,所以越來(lái)越多的前端開(kāi)發(fā)者使用vue。
看完上述內(nèi)容,你們對(duì)如何在Vue中使用v-viewer圖片瀏覽組件有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
分享題目:如何在Vue中使用v-viewer圖片瀏覽組件
網(wǎng)頁(yè)路徑:http://aaarwkj.com/article2/pegdic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站排名、外貿(mào)建站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)