有以下wxml
<snapshot mode='view'>
<view wx:if='{{show}}'>hello</view>
</snapshot>
以下js
Page({
data:{show:false},
onLoad() {
setTimeout(()=>{
this.setData({show: true})
}, 1000)
}
})
我希望页面加载1秒后把view显示出来,这时候我就可以调用方法生成截图。实际发现当show变化的时候, snapshot下的这个view并不会跟着变化。
当我在snapshot上加上一个wx:if,重新加载snapshot节点之后,这个view就正常显示在snapshot里了。
在官方示例上复现了此问题,在开发工具上显示是正确的(但导出截图是空白),在真机上就可以复现此问题。
已知问题,下个版本会修复下
let that = this; setTimeout(()=>{ that.setData({show: true}) }, 1000)
这里的this是对的。指向page,详细的可以看发的那个代码片段。