文档:
    数据监听器 | 微信开放文档

    什么是数据监听器?
    数据监听器用于监听和响应任何属性和数据字段的变化,从而执行特定的操作。它的作用类似vue中的watch监听器。

    1. <view>
    2. 值为:{{count1}}+{{count2}}={{sum}}
    3. </view>
    4. <button bind:tap="addSum">添加</button>
    1. Component({
    2. /**
    3. * 组件的初始数据
    4. */
    5. data: {
    6. count1: 0,
    7. count2: 0,
    8. sum: 0,
    9. },
    10. observers: {
    11. // 同时监听 count1 和 count2
    12. "count1, count2": function (count1Value, count2Value) {
    13. this.setData({
    14. sum: count1Value + this.data.count2
    15. })
    16. }
    17. },
    18. /**
    19. * 组件的方法列表
    20. */
    21. methods: {
    22. addSum() {
    23. this.setData({
    24. count1: this.data.count1 + 1
    25. })
    26. }
    27. }
    28. })

    监听对象属性的变化:

    1. Component({
    2. observers: {
    3. 'some.subfield': function(subfield) {
    4. // 使用 setData 设置 this.data.some.subfield 时触发
    5. // (除此以外,使用 setData 设置 this.data.some 也会触发)
    6. subfield === this.data.some.subfield
    7. },
    8. 'some.field.**': function(field) {
    9. // 使用 setData 设置 this.data.some.field 本身或其下任何子数据字段时触发
    10. // (除此以外,使用 setData 设置 this.data.some 也会触发)
    11. field === this.data.some.field
    12. },
    13. 'arr[12]': function(arr12) {
    14. // 使用 setData 设置 this.data.arr[12] 时触发
    15. // (除此以外,使用 setData 设置 this.data.arr 也会触发)
    16. arr12 === this.data.arr[12]
    17. },
    18. }
    19. })