微信小程序image组件中的bindload不触发问题

微信小程序image组件中的bindload不触发问题,第1张

微信小程序image组件中的bindload不触发问题

原因分析

        做小程序图片加载功能的时候,发现切换页面后总是停留在预加载的图片上,多次调试后发现,是因为图片第一次加载的时候可以正常触发bindload,但是刷新之后图片有缓存,就不会再执行bindload了。

解决办法

解决方法是前端加载图片url的时候,在后面加一串随机数,这样小程序每次都会认为是新图片,不会有缓存

链接:https://www.jianshu.com/p/1b523bfb45aa

wxml部分:

<image src="../images/xwbanner.png" mode="widthFix" bindload="imageLoad" style="width:{{ images[index].width }}rpxheight:{{ images[index].height }}rpx" ></image>

wxss部分:

image{

width:100%;

}

js部分:

Page({

data: {

images:{}

},

imageLoad: function(e){

var $width=e.detail.width,//获取图片真实宽度

$height=e.detail.height,

ratio=$width/$height //图片的真实宽高比例

var viewWidth=718, //设置图片显示宽度,左右留有16rpx边距

viewHeight=718/ratio //计算的高度值

var image=this.data.images

//将图片的datadata-index作为image对象的key,然后存储图片的宽高值

image[e.target.dataset.index]={

width:viewWidth,

height:viewHeight

}

this.setData({

images:image

})

},

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11999998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存