收藏
回答

this.setData 存在数据脏写吗?

上图是 data 的数据,如图片上的描述,红色箭头指向的这四组数据格式是一样的。

当我用下面的方式更新其中一组数据时,另外三组也同时被更新了,但是页面并未渲染。

正确的不应该只是更新我代码指定的数据吗?其他三组为什么要跟着变?

this.setData({
    'zhichu.zhanghu.code'4,
    'zhichu.zhanghu.name''支付宝',
    'zhichu.zhanghu.top'0
})


  执行上面的代码后另外三组数据也被更新了,我查了大半天了,没找到什么原因,求指教。

回答关注问题邀请回答
收藏

1 个回答

  • 袁Z鹏
    袁Z鹏
    2020-07-22

    你这几个是怎么赋值的? 是不是赋值了同一个对象, 所以一个改变其他的改变。 你可以搜一下深浅拷贝相关的

    2020-07-22
    有用 1
    回复 1
    • 朱星宇
      朱星宇
      2020-07-22
      确实是浅拷贝造成的,之前一直不知道还有深浅拷贝这一说,今天又涨姿势了,万分感谢!
      2020-07-22
      回复
登录 后发表内容
问题标签