小程序image使用mode大图闪屏加载的问题

项目中用到了一个高度为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
    
    })
}