收藏
回答

直接赋值data里面的值和通过this.setData()赋值有什么区别


如下:要对a赋值3,直接this.data.a = 3 和 this.setData({a:3}); 有什么区别?

Page({
 data: {
  a:2
 }
});


最后一次编辑于  2018-05-28
回答关注问题邀请回答
收藏

1 个回答

  • 卢霄霄
    卢霄霄
    2018-05-28

    this.data.a = 3 同步操作,直接改变值,不渲染界面。

    this.setData({a:3}); 同步改变值,异步渲染界面。

    直接使用 this.data.xxx = 3 这种赋值,挺危险的,如果赋值后不立即setData搞不好会有些莫名其妙的问题出来。

    2018-05-28
    赞同 1
    回复 1
    • kaiking
      kaiking
      2018-05-28

      好的,谢谢!

      2018-05-28
      回复