Vue圖片懶載入之lazyload外掛使用

小周sri的碼農發表於2018-06-11

當內容沒有載入完的時候,使用者體驗不是很好,這時候,可以使用lazyload這個外掛,提升使用者體驗,使用方法特別簡單易用

一. vue lazyload外掛:

外掛地址:https://github.com/hilongjw/vue-lazyload

二. 簡單使用例項:

其實這個外掛做簡單使用的話是很簡單的,看官方文件的話反而被誤導了,可以先按下邊的例項實現簡單引用,後邊再根據開發文件做擴充套件。直接對程式碼開始

1. 安裝外掛:

npm install vue-lazyload --save-dev

2. main.js引入外掛:

import VueLazyLoad from 'vue-lazyload'

Vue.use(VueLazyLoad,{
    loading:require('common/image/default.png')  //這個就是你本地圖片的地址
})

3. vue檔案中將需要懶載入的圖片繫結 v-bind:src 修改為 v-lazy 

<img :src="item.imgurl" style="width: 60px;height: 60px;" />
改成下面的,就可以使用了
<img v-lazy="item.imgurl" style="width: 60px;height: 60px;" />

三.功能擴充套件:

圖片懶載入的簡單效果已經實現了,然後就可以按這開發文件的api進行擴充套件了:

keydescriptiondefaultoptions
preLoad proportion of pre-loading height(預載入高度比例) 1.3 Number
error src of the image upon load fail(圖片路徑錯誤時載入圖片) 'data-src' String
loading src of the image while loading(預載入圖片) 'data-src' String
attempt attempts count(嘗試載入圖片數量) 3 Number
listenEvents

events that you want vue listen for

(想要監聽的vue事件)

預設['scroll']可以省略,

當外掛跟頁面中的動畫或過渡等事件有衝突是,

可以嘗試其他選項

['scroll'(預設),

'wheel',

'mousewheel',

'resize',

'animationend',

'transitionend',

'touchmove']

Desired Listen Events
adapter

dynamically modify the attribute of element

(動態修改元素屬性)

{ } Element Adapter
filter the image's listener filter(動態修改圖片地址路徑) { } Image listener filter
lazyComponent lazyload component false Lazy Component
dispatchEvent trigger the dom event false Boolean
throttleWait throttle wait 200 Number
observer use IntersectionObserver false Boolean
observerOptions IntersectionObserver options { rootMargin: '0px', threshold: 0.1 } IntersectionObserver

 

相關文章