VUE圖片懶加載-vue lazyload插件的簡單上手使用(優化版本)

在用VUE作項目開發的過程當中,首頁用到了懶加載的方法,查找了一些方法,以爲官網寫得太複雜,有一篇博客不錯(https://www.cnblogs.com/xyyt/p/7650539.html),可是有些地方又與個人項目有些不一樣,故此記錄一下下~實在是超級簡單的css

先展現效果:html

一. vue lazyload插件:vue

插件地址:https://github.com/hilongjw/vue-lazyloadwebpack

demo:http://hilongjw.github.io/vue-lazyload/git

二. 簡單使用實例:github

當第一次看官網時,相信大多數人想要快速使用某個功能,追求開發速率,故不可能花費大量時間研究官方文檔,因此寫一些步驟在下方,會一直順利應用到項目中。web

使用很是簡單npm

1. 安裝插件:api

1 npm install vue-lazyload --save-dev  //開發環境安裝
2 npm install vue-lazyload -S  //開發環境安裝

2. main.js引入插件:dom

1 import VueLazyLoad from 'vue-lazyload'
2 Vue.use(VueLazyLoad,{
3     error:require('./statics/site/imgs/erro.jpg'),
4     loading:require('./statics/site/imgs/load.gif')
5 })

 3. vue文件中將須要懶加載的圖片綁定 v-bind:src 修改成 v-lazy 

1 <div class="img-box">
2   <img  v-lazy =subitem.img_url>
3  </div>

4.我須要在webpack.config.dev.js配置文件中配置一下

 1    module: {
 2         rules: [{
 3                 test: /\.vue$/,
 4                 use: ['vue-loader']
 5             },
 6             {
 7                 test: /\.css$/,
 8                 use: ['style-loader', 'css-loader']
 9             },
10             {
11                 test: /\.(ttf|eot|woff|svg|jpg|png|gif)$/,
12                 use: [{
13                     loader: 'url-loader'
14                 }]
15             }
16         ]
17     },

四.功能擴展:

圖片懶加載的簡單效果已經實現了,而後就能夠按這開發文檔的api進行擴展了:

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

(想要監聽的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
相關文章
相關標籤/搜索