圖片懶加載插件Vue-Lazyload@1.3.0存在bug及臨時解決方法

先提煉下問題和需求吧,儘可能簡單描述問題並復現bug,畢竟優化圖片後對網頁加載速度有着很是明顯的效果!並且圖片懶加載技術也是你們常常用到的一種優化手段。html

問題:在練手的Vue項目中,首頁在首次加載時圖片請求數達到了60!
如圖:
項目未優化時首次加載圖片數量多達60張,嚴重影響頁面加載速度vue

理想狀態/需求:優化首屏首次打開時加載圖片的數量
如圖:
使用圖片懶加載後首屏圖片請求數明顯減小git

尋找解決方案:在Vue資源列表中搜索後發現目前聲望最高的是vue-lazyloadgithub

踩坑之路:ide

因而我下載了vue-lazyload@1.3.0最新版本,但並無實現預期效果而是翻了車!後來改用@1.2.6版本才解決問題。對比@1.2.6和@1.3.0的代碼後發現,將@1.2.6版本中的key: "checkInView"這個方法替換掉@1.3.0版本中的便可解決問題。
如圖:
在vue-lazyload@1.3.0版本中找到checkInView這段並替換成@1.2.6版本中的便可優化

最後,爲了讓文章更有說明力,證實不是個人操做問題,特地錄製了一段視頻,完整的演示了在項目中使用vue-lazyload@1.2.6vue-lazyload@1.3.0後的區別,並修改vue-lazyload@1.3.0中的源碼以解決bug.spa

視頻演示bug復現
全屏播放--視頻演示vue-lazyload@1.3.0版本會加載全部圖片而@1.2.6版本是正確的插件

最後,若是看官目前正在使用vue-lazyload@1.3.0版本,請注意這個坑。至於解決方案,文章中提到了兩種,要麼回退版本,要麼修改源碼。或者直接升級到1.3.1版本,剛去看了下,做者已經更新了版本。3d

今天中午的時候,原插件做者已確認了bug,詳情訪問:v1.3.0Bug求證:v-lazy會加載超出可視區域內的圖片? #372code


若是看官有興趣的話,能夠閱讀完整文章,詳情訪問:Vue2x優化篇之圖片懶加載插件Vue-Lazyload@1.3.0存在bug及臨時解決方法

相關文章
相關標籤/搜索