vue項目實現(xiàn)圖片懶加載的簡單步驟
1、安裝vue-lazyload插件
npm install vue-lazyload --save-dev
2、在main.js中進(jìn)行引用
import VueLazyload from "vue-lazyload"; Vue.use(VueLazyload); //或者自定義配置插件 Vue.use(VueLazyload, { preLoad: 1.3, error: require('../src/assets/image/error.png'), loading: require('../src/assets/image/loading.gif'), attempt: 1 })
注意:
這里存在一個坑,當(dāng)圖片放在 assets文件下 的時候,要使用上面的這種 require(‘相對路徑’)的寫法來進(jìn)行引入。當(dāng)圖片放在 static文件下 的時候就可以直接寫路徑來進(jìn)行引入,像下面的寫法一樣。
static文件圖片引入方法:
Vue.use(VueLazyload, { preLoad: 1.3, error: '../src/assets/image/error.png', loading: '../src/assets/image/loading.gif', attempt: 1 })
各個自定義配置屬性含義:
key | description | default | options |
---|---|---|---|
preLoad | 預(yù)壓高度比例 | 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 | 嘗試計數(shù) | 3 | Number |
listenEvents | 想要監(jiān)聽的事件 | [‘scroll’, ‘wheel’, ‘mousewheel’, ‘resize’, ‘animationend’, ‘transitionend’, ‘touchmove’] | Desired Listen Events |
adapter | 動態(tài)修改元素屬性 | { } | Element Adapter |
filter | 圖片監(jiān)聽或過濾器 | { } | Image listener filter |
lazyComponent | lazyload 組件 | false | Lazy Component |
dispatchEvent | 觸發(fā)dom事件 | 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 | Boolean |
3、使用(將圖片設(shè)置為懶加載)
<img v-lazy="psdimg" class="psd" />
注意:
當(dāng)遇到是v-for循環(huán)的時候,或者用div包裹著img的時候,需要在div上面添加 v-lazy-container="{ selector: ‘img’ }"
<div v-lazy-container="{ selector: 'img' }"> <img data-src="http://aaa.com/img1.jpg"> <img data-src="http://aaa.com/img2.jpg"> <img data-src="http://aaa.com/img3.jpg"> </div> <!--或者這種:--> <div v-lazy-container="{ selector: 'img' }" v-html="content"> </div>
如果是這種情況的話,一定要使用 data-src 來指定路徑,而不使用v-lazy。因為如果使用的是v-lazy的話,拿到了圖片地址也會一直顯示不出來。
總結(jié)
到此這篇關(guān)于vue項目實現(xiàn)圖片懶加載的文章就介紹到這了,更多相關(guān)vue圖片懶加載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3+vite+ts使用require.context問題
這篇文章主要介紹了vue3+vite+ts使用require.context問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05vue中watch的實際開發(fā)學(xué)習(xí)筆記
watch是Vue實例的一個屬性是用來響應(yīng)數(shù)據(jù)的變化,需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的,下面這篇文章主要給大家介紹了關(guān)于vue中watch的實際開發(fā)筆記,需要的朋友可以參考下2022-11-11vue中v-for循環(huán)給標(biāo)簽屬性賦值的方法
這篇文章主要介紹了vue中v-for循環(huán)給標(biāo)簽屬性賦值的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10webpack + vue 打包生成公共配置文件(域名) 方便動態(tài)修改
這篇文章主要介紹了webpack + vue 打包生成公共配置文件(域名) 方便動態(tài)修改,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08VUE-Table上綁定Input通過render實現(xiàn)雙向綁定數(shù)據(jù)的示例
今天小編就為大家分享一篇VUE-Table上綁定Input通過render實現(xiàn)雙向綁定數(shù)據(jù)的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08