现在没有Component的页面,setData也是浅拷贝了吗?
发布于 7 年前 作者 xiongjuan 6424 次浏览 来自 官方Issues

以前记得setData是否深浅拷贝是根据usingComponents决定的,好像两种参数下页面的部分逻辑不一样有usingComponents,setData的时候是浅拷贝没有usingComponents,则是深拷贝,这个说明记得开发文档里有

今天发现没有usingComponents的页面setData也是浅拷贝了,回头找这个文档也找不到了。是什么时候改了吗?

3 回复

一直都没有吧。

  • 出于性能考虑,使用 usingComponents 时, setData 内容不会被直接深复制,即 this.setData({ field: obj }) 后 this.data.field === obj 。(深复制会在这个值被组件间传递时发生。)

之前在不使用usingComponents的时候,是深拷贝的,现在统一都变成浅拷贝了吗

对,更新了开发工具突然就浅拷贝了,当天上线只能换回就开发工具

回到顶部