场景: 微信小程序,对于以下较大的图片(例如几M),在真机运行时候加载比较慢,此时会有一个比较长时间的白屏,体验很差。
解决方案:图片未加载成功前,进行loading…;图片加载完成后会触发@load事件;
<template><view class="big_box"><image @load="loadImg($event)" @error="errImg" src="../pagesC/static/sun.jpg" mode="scaleToFill" /></view>
</template><script>
export default {data () {return {imgurl: '../pagesC/static/sun.jpg'}},onShow () {//开启加载uni.showLoading({title: '加载中...',mask: true})},methods: {// 此方法会在图片加载完成后触发loadImg (e) {uni.hideLoading()console.log('图片信息', e)},errImg () {uni.hideLoading()}},
}
</script><style lang="less" scoped>
.big_box {height: 100vh;image {width: 100%;height: 100%;}
}
</style>