<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
})
},
})
微信小程序image组件中的bindload不触发问题
原因分析
备键 慎埋 做小程序图片预加载功能的时候,发现切换页面后总是停留在预加载的图片上,多次调试后发现,是因为图片第一次加载的时候可以正常触发bindload,但是刷新之后图片有缓存,就不会再执行bindload了。
解决办法
解决方法是前端加载图片url的时候,在后面加一串随机数,这样宽滚蚂小程序每次都会认为是新图片,不会有缓存
链接:https://www.jianshu.com/p/1b523bfb45aa
支付宝小程序获取元素宽高方昌兄皮法,小程序如果不能获取图片宽高,那耐差么图片设置宽高时,就有可能会出现图片变形,要想避免这种情况,除了图片等比例缩放,还可以用image组件加载图片,通过bindload动态的获取图片的高度尘行和宽度欢迎分享,转载请注明来源:内存溢出
评论列表(0条)