小程序
小游戏
企业微信
微信支付
扫描小程序码分享
以前记得setData是否深浅拷贝是根据usingComponents决定的,好像两种参数下页面的部分逻辑不一样 有usingComponents,setData的时候是浅拷贝 没有usingComponents,则是深拷贝,这个说明记得开发文档里有
今天发现没有usingComponents的页面setData也是浅拷贝了,回头找这个文档也找不到了。是什么时候改了吗?
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
一直都没有吧。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
对,更新了开发工具突然就浅拷贝了,当天上线只能换回就开发工具
出于性能考虑,使用 usingComponents 时, setData 内容不会被直接深复制,即 this.setData({ field: obj }) 后 this.data.field === obj 。(深复制会在这个值被组件间传递时发生。)
usingComponents
setData
this.setData({ field: obj })
this.data.field === obj
之前在不使用usingComponents的时候,是深拷贝的,现在统一都变成浅拷贝了吗
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
一直都没有吧。
对,更新了开发工具突然就浅拷贝了,当天上线只能换回就开发工具
出于性能考虑,使用
usingComponents
时,setData
内容不会被直接深复制,即this.setData({ field: obj })
后this.data.field === obj
。(深复制会在这个值被组件间传递时发生。)之前在不使用usingComponents的时候,是深拷贝的,现在统一都变成浅拷贝了吗