skyline 模式下无法动态切换 image 的 mode。左gif(webview)正常,右gif 切换无效,详见分享的代码片段:https://developers.weixin.qq.com/s/u3pE7rm8875b
demo 代码如下:
<image src="http://mmbiz.qpic.cn/sz_mmbiz_jpg/GEWVeJPFkSEz7tgvlaTtv2MYO01RZr0y2lKyiby6STpicpYB2a46S17caRhHMDhotyz62xeNAwc5CibskvQH3eKwg/0?wx_fmt=jpeg" mode="{{mode}}" />
<button bind:tap="changeMode">当前 mode:{{mode}}</button>
----------------------------------------------------------
data: {
mode: 'scaleFill'
},
methods: {
changeMode () {
this.setData({ mode: 'aspectFill' })
}
},
实际遇到问题的场景:
基于 uni-app 自研的组件库,其中 image 组件接收 props.mode 且默认为 scaleFill。在 skyline 模式下涉及异步场景下设置 mode 的情况均出现异常,都为默认值 scaleFill 了。即使我是设置的其他 mode 值,且非响应式。比如以下代码片段也无法正常设置 aspectFill。但在 webview 渲染下一切正常。
setTimeout(() => { visible.value = true })
<a-image mode="aspectFill" src="xxx" v-if="visible" />
