微信小程序image組件binderror使用例子(對應html、js中的onerror)


    官方文檔

 binderror HandleEvent 當錯誤發生時,發布到 AppService 的事件名,事件對象event.detail = {errMsg: 'something wrong'}

在微信小程序開發中,我們使用列表包含圖片,如果這個圖片鏈接404錯誤,那么我們應該給它提供一個默認的友好URL地址。html和js中使用onerror事件就可以了

  

<img src="image.gif" onerror="this.src='https:w.chesudi.com/Public/web/img/onerrorcar.png'" />

微信小程序image組件沒提供onerror事件,提供了一個binderror事件來代替。

如果圖片鏈接404,就會觸發這個binderror事件,我們在綁定的事件里修改對應的數據源就好了,如下

.wxml文件

<image class="carlist_img" src="{{item.img}}" binderror="binderrorimg" data-errorimg="{{index}}"></image>

.js文件 

 binderrorimg:function(e){  
    var errorImgIndex= e.target.dataset.errorimg //獲取循環的下標
    var imgObject="carlistData["+errorImgIndex+"].img" //carlistData為數據源,對象數組
    var errorImg={}
    errorImg[imgObject]="https://w.chesudi.com/Public/web/img/onerrorcar.png" //我們構建一個對象
    this.setData(errorImg) //修改數據源對應的數據
  }

 

易錯點:this.setData({"carlistData["+errorImgIndex+"].img":對象})類似這樣的就不正確了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM