图片懒加载插件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及临时解决方法

相关文章
相关标签/搜索