由于在项目中多个页面都要用到这个代码,所以我们在utils文件夹中新建一个errorImage.js,便于在其他页面引用
errorImage.js:
//远程图片no found情况下指引 function errImgFun(ev, that){ var _errImg=ev.target.dataset.errImg; var _errObj={}; _errObj[_errImg]="默认图片"; that.setData(_errObj);} module.exports = { errImgFun: errImgFun }
在需要的js中引入这个文件
js:
// 处理图片加载404问题var errorImage = require("../../utils/errorImage.js");Page({ onLoad: function (options) { }, // 远程图片加载404显示默认图 onImageError: function (ev) { var _that = this; errorImage.errImgFun(ev, _that); },})
xhtml:
<view wx:for="{{StyleShpeSubList}}" wx:key="StyleShpeSubList"> <image src="{{item.ShAtSubPicUrl!=''?item.ShAtSubPicUrl:'默认图片'}}" binderror="onImageError" data-err-img="StyleShpeSubList[{{index}}].ShAtSubPicUrl" mode='aspectFill'></image></view>原理:
当图片有错误时会触发onImageError这个方法,然后通过var _errImg=ev.target.dataset.errImg取得有错误的图片的位置,然后用setData把这个地方的图片设置成默认的图片,这样一旦有错误就会把这个错误的图片替换成默认图片













