W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
當(dāng)頁面需要加載大量內(nèi)容時(shí),使用懶加載可以實(shí)現(xiàn)延遲加載頁面可視區(qū)域外的內(nèi)容,從而使頁面加載更流暢。
通過以下方式來全局注冊組件,更多注冊方式請參考組件注冊。
?Lazyload
? 是 ?Vue
? 指令,使用前需要對指令進(jìn)行注冊。
import { createApp } from 'vue';
import { Lazyload } from 'vant';
const app = createApp();
app.use(Lazyload);
// 注冊時(shí)可以配置額外的選項(xiàng)
app.use(Lazyload, {
lazyComponent: true,
});
將 ?v-lazy
? 指令的值設(shè)置為你需要懶加載的圖片。
<img v-for="img in imageList" v-lazy="img" />
export default {
setup() {
return {
imageList: [
'https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg',
'https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg',
],
};
},
};
和圖片懶加載不同,背景圖懶加載需要使用 ?v-lazy:background-image
?,值設(shè)置為背景圖片的地址,需要注意的是必須聲明容器高度。
<div v-for="img in imageList" v-lazy:background-image="img" />
將需要懶加載的組件放在 ?lazy-component
? 標(biāo)簽中,即可實(shí)現(xiàn)組件懶加載。
// 注冊時(shí)設(shè)置`lazyComponent`選項(xiàng)
app.use(Lazyload, {
lazyComponent: true,
});
<lazy-component>
<img v-for="img in imageList" v-lazy="img" />
</lazy-component>
參數(shù) | 說明 | 類型 | 默認(rèn)值 |
---|---|---|---|
loading | 加載時(shí)的圖片 | string | - |
error | 錯誤時(shí)的圖片 | string | - |
preload | 預(yù)加載高度的比例 | string | - |
attempt | 嘗試次數(shù) | number | 3
|
listenEvents | 監(jiān)聽的事件 | string[] | scroll 等 |
adapter | 適配器 | object | - |
filter | 圖片 URL 過濾 | object | - |
lazyComponent | 是否能懶加載模塊 | boolean | false
|
更多內(nèi)容請參照:vue-lazyload 官方文檔
由于 Lazyload 組件在注冊時(shí)可以傳入一些配置項(xiàng),所以我們不會自動注冊 Lazyload 組件,需要手動進(jìn)行注冊:
const app = Vue.createApp();
app.use(vant.Lazyload, {
lazyComponent: true,
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: