微信公众平台关于image组件的讲解都挺详细的,至于在binderror错误事件处理上并没有详细说明。那么如果我们在获取网络图片出现404 nofound的情况下要怎么处理呢?如果是单张和循环内的某张图片出错的情况下又该如何处理呢?
首先,我们都知道html的img组件自带一个onerror图片出错事件处理机制,写法就如同js一样。语法如下:
<img src="xxx" onerror="this.src='./img/default.png'"/>
但是,我尝试在小程序里的image组件也做这样的处理,却发现并不能实现,反而要提示APP-SERVICE-Engine错误信息。后来重新翻看文档,找到类似的事件处理binderror,文档支出可以通过event.detail打印出具体的出错信息,并没有给出出错后的具体解决方案。通过和前辈沟通得到的解决方案如下:
通过dataset属性将image组件的src变量值存入。binderror事件通过获取属性变量值改变data的数据。当然这个有个弊端,就是image组件的src是动态的值而不能是直接指向某张图片的情况下。
那么具体处理代码如下:
demo.wxml::
单张图片:<image src="{
{testImg}}" binderror="errImg" bindload="loadImg" data-

本文探讨了微信小程序中image组件在binderror事件处理上的应用,特别是在图片加载404时如何进行错误处理。通过使用dataset属性结合binderror事件,可以实现对单张及循环内图片出错的响应。同时,提出了将处理代码模块化的解决方案,以减少代码冗余。
最低0.47元/天 解锁文章
1345

被折叠的 条评论
为什么被折叠?



