什么是数据监听器?
数据监听器用于监听和响应任何属性和数据字段的变化,从而执行特定的操作。它的作用类似vue
中的watch
监听器。
<view>
值为:{{count1}}+{{count2}}={{sum}}
</view>
<button bind:tap="addSum">添加</button>
Component({
/**
* 组件的初始数据
*/
data: {
count1: 0,
count2: 0,
sum: 0,
},
observers: {
// 同时监听 count1 和 count2
"count1, count2": function (count1Value, count2Value) {
this.setData({
sum: count1Value + this.data.count2
})
}
},
/**
* 组件的方法列表
*/
methods: {
addSum() {
this.setData({
count1: this.data.count1 + 1
})
}
}
})
监听对象属性的变化:
Component({
observers: {
'some.subfield': function(subfield) {
// 使用 setData 设置 this.data.some.subfield 时触发
// (除此以外,使用 setData 设置 this.data.some 也会触发)
subfield === this.data.some.subfield
},
'some.field.**': function(field) {
// 使用 setData 设置 this.data.some.field 本身或其下任何子数据字段时触发
// (除此以外,使用 setData 设置 this.data.some 也会触发)
field === this.data.some.field
},
'arr[12]': function(arr12) {
// 使用 setData 设置 this.data.arr[12] 时触发
// (除此以外,使用 setData 设置 this.data.arr 也会触发)
arr12 === this.data.arr[12]
},
}
})