vue自定义指令,比onerror更优雅的方式实现当图片加载失败时使用默认图,提供三种方法
当图片不存在时,将触发 onerror,而onerror 中又为img 指定一个logoError.png 图片。也就是说图片存在则显示logo.png,图片不存在将显示 logoError.png。
但是,注意哦,这里有个大坑哦,如果logoError.png 也不存在,则会继续触发 onerror,导致死循环,页面卡死。而且,就算图片存在,但网络很不通畅,也可能触发 onerror。
当然,解决办法是有的:
二、通过vue绑定onerror实现
本质上跟第一种方法是差不多的
使用方法:
使用这种方法还有一个天然的优势,那就是当网速较慢或者图片一次性加载较多的话,可以达到占位图的效果。来,look look。
低网速状态加载图.gif
Okay,三种方法都介绍完了,选哪种各凭喜好!
看完之后有什么不懂的,可以留言反馈。
DEMO GitHub地址:https://github.com/TangSY/vue-img-onerror
转载请注明出处:https://www.jianshu.com/p/394c487d81d7
作者:TSY
个人空间:https://hxkj.vip

发表评论 (审核通过后显示评论):