this.setDate({ })与this.data的区别
this.setData({})
用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data
的值(同步)。
用this.data
而不用this.setData({})
会造成页面内容不更新的问题。
Page.prototype.setData()
setData
函数用于将数据从逻辑层发送到视图层,同时改变对应的this.data
的值。
注意:
- 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。
- 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
具体解释:
this.data
与this.setData
的关系就是this.setData
里面存储的是this.data
的副本,而界面是从this.setData
里面托管的this.data
的副本取数据的。所以我们更改this.data
并不会直接更新界面,因为这个时候的this.setData
里面的副本还是没有更新前的。