在开发小程序的时候经常会遇到有些图片失效的问题,记录下我是这么解决的
本来官方文档里面有图片发生错误监听的方法,一直没注意到
当图片发生错误时,我们就把图片url改成默认的图片url
<image binderror="imageError" class="lists-img" data-index="{{index}}"
src="{{item.cover||m1.getimg(item.description)}}" mode="scaleToFill"></image>
我们先使用data-index进行数据绑定,拿到index的值
imageError(e) {
var index = e.currentTarget.dataset.index;
var img = 'dataa['+index+'].cover'
this.setData({
[img]:'../../static/image.png'
})
},
当图片发生错误就进入这个方法,使用e.currentTarget.dataset拿到index的值
如果index为零的话,那就能知道图片的路径变量是this.data.dataa[0].cover
然后给url设置新的值即可