vue圖片懶加載

vue-lazyload

npm引入:npm i vue-lazyload -S
CDN引入:[https://unpkg.com/vue-lazyload/vue-lazyload.js](https://unpkg.com/vue-lazyload/vue-lazyload.js)

使用:

main.js:

import Vue from 'vue'
import App from './App.vue'
import VueLazyload from 'vue-lazyload'
 
Vue.use(VueLazyload)
 
// or with options
Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: 'dist/error.png',
  loading: 'dist/loading.gif',
  attempt: 1
})
 
new Vue({
  el: 'body',
  components: {
    App
  }
})

template:

<ul>
  <li v-for="img in list">
    <img v-lazy="img.src" >
  </li>
</ul>

Constructor Options

key description default options
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 ['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
silent do not print debug info true

Desired Listen Events

Vue.use(VueLazyload, {
  preLoad: 1.3,
  error: 'dist/error.png',
  loading: 'dist/loading.gif',
  attempt: 1,
  // the default is ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend']
  listenEvents: [ 'scroll' ]
})

Methods

Event Hook

vm.Lazyload.on(event, callback) vm.Lazyload.off(event, callback) vm.Lazyload.once(event, callback)

on Listen for a custom events loading, loaded, erroronce Listen for a custom event, but only once. The listener will be removed once it triggers for the first time.
$off Remove event listener(s).

vm.Lazyload.on

Example
vm.$Lazyload.$on('loaded', function ({ bindType, el, naturalHeight, naturalWidth, $parent, src, loading, error }, formCache) {
  console.log(el, src)
})

vm.Lazyload.once

Example
vm.$Lazyload.$once('loaded', function ({ el, src }) {
  console.log(el, src)
})

vm.Lazyload.off

If only the event is provided, remove all listeners for that event

Example
function handler ({ el, src }, formCache) {
  console.log(el, src)
}
vm.$Lazyload.$on('loaded', handler)
vm.$Lazyload.$off('loaded', handler)
vm.$Lazyload.$off('loaded')

Performance

this.$Lazyload.$on('loaded', function (listener) {
  console.table(this.$Lazyload.performance())
});

this.$Lazyload.$once('loaded', function (listener) {
  console.table(this.$Lazyload.performance())
})

[原文具體api鏈接:](https://www.npmjs.com/package/vue-lazyload](https://www.npmjs.com/package/vue-lazyload)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末枕稀,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子语婴,更是在濱河造成了極大的恐慌庐冯,老刑警劉巖判帮,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡伟桅,警方通過查閱死者的電腦和手機祠饺,發(fā)現死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門越驻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吠裆,你說我怎么就攤上這事伐谈。” “怎么了试疙?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵诵棵,是天一觀的道長。 經常有香客問我祝旷,道長履澳,這世上最難降的妖魔是什么嘶窄? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮距贷,結果婚禮上柄冲,老公的妹妹穿的比我還像新娘。我一直安慰自己忠蝗,他們只是感情好现横,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著阁最,像睡著了一般戒祠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上速种,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天姜盈,我揣著相機與錄音,去河邊找鬼配阵。 笑死馏颂,一個胖子當著我的面吹牛,可吹牛的內容都是我干的棋傍。 我是一名探鬼主播救拉,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼舍沙!你這毒婦竟也來了近上?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤拂铡,失蹤者是張志新(化名)和其女友劉穎壹无,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體感帅,經...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡斗锭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了失球。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岖是。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖实苞,靈堂內的尸體忽然破棺而出豺撑,到底是詐尸還是另有隱情,我是刑警寧澤黔牵,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布聪轿,位于F島的核電站,受9級特大地震影響猾浦,放射性物質發(fā)生泄漏陆错。R本人自食惡果不足惜灯抛,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望音瓷。 院中可真熱鬧对嚼,春花似錦、人聲如沸绳慎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偷线。三九已至磨确,卻和暖如春沽甥,著一層夾襖步出監(jiān)牢的瞬間声邦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工摆舟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留亥曹,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓恨诱,卻偏偏與公主長得像媳瞪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子照宝,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內容