项目中用到了一个高度为8000多px的图片,写死高度不合适,用小程序的mode的widthFix属性。因为小程序加载的模式会默认先加载出image的默认高度300*150,之后再裁剪图片的自适应高度,就会出现大图压缩的的过渡。
解决办法:
image有个事件 bindload 在图片加载完毕后会触发这个事件,所以在这个事件中会返回图片的高度,首先默认设置图片高度1px,等获取到高度后再赋值给image,这样就解决了压缩显示的问题。
<image style='height:{{loadeFlag?1:imageheight}}px;" bindload="bindload"></image>
bindload:function(res){ this.setData({ loadFlag:true, imageHeight:res.detail.height }) }