官方文档上对这个事件的解释是:
onerror 事件会在文档或图像加载过程中发生错误时被触发。
在装载文档或图像的过程中如果发生了错误,就会调用该事件句柄。
那么它是用在什么地方,怎么用的?
举个栗子:在开发中,有通过接口传来的图片,但该图片不一定能读出来(也就是报404错误)。
这时如果不做处理,在Chrome下图片会不显示,在ie下会出现一个图片缺省的样子(很丑...)。
测试小姐姐不愿意了,提了bug,那怎么办?优化!
方法一:用CSS给一张默认背景图片
结果:挺好,Chrome和ie11都没问题。但是ie10及以下还是有丑丑的样式(毕竟src=""还在,晕...),继续优化
方法二:给img标签加onerror事件,如果图片读不出来,就会去找onerror后面定义的事件,把src整体换掉。如下
<img :src="app.img" alt="" :onerror="errorImg" class="fl">
data () {
return {
errorImg: 'this.src="' + require('@/assets/img/default_app.png') + '"',
}
}
但有个坑可能要注意下,是在一篇文章中看到的,个人还没在开发中遇到过