微信小程序中this.data与this.setData的区别详解
this.data与this.setData的关系就是this.setData里面存储的是this.data的副本,
而界面是从this.setData里面托管的this.data的副本取数据的。
所以我们更改this.data并不会直接更新界面,因为这个时候的this.setData里面的副本还是没有更新前的
- 其中this.data是用来获取页面data对象的
- this.setData是用来更新界面的
注意:
- 直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致
- 单次设置的数据
不能超过1024kB
,请尽量避免一次设置过多的数据
问题1:页面如何使用data里面的数据?答:页面可以直接使用data里面的数据
<view>
{{year}}--{{dates.one}}
</view>
data: {
year: '123',
dates: {
one: '11',
two: "12",
three: "13"
}
}
问题2:js页面中如何使用data里面的数据?答:必须通过this.data.属性
问题3:如何修改data里面的数据?答:this.setData({属性:值});直接使用data里面的属性
this.setData({
year: '234'
})