小程序properties属性中的observer的使用及其使用注意(防止内存泄漏,即无限循环调用)

observer是当定义的属性变量的值发生改变会自动执行下面的代码

1、定义:

在component下面的properties中定义的属性变量中定义

properties: {
    more: {
      type: String,
      observer: ‘loadMore‘
    }
  },

其一,more的定义方法可以直接是如下,但是因为要定义observer,所以需要展开定义的方式定义

properties: {
    more: String
  },

其二,observer中可以直接定义一个函数,接受三个参数,newVal(新值),oldVal(旧值)和changedPath(路径)如下,但是,为了便于维护,简洁,也可以在methods中定义方法,然后在observer中引用方法名称,如上

properties: {
    classic: {
      type: Object,
    observer: function(newVal, oldVal){
        let val = newVal < 10 ? ‘0‘ + newVal : newVal
        this.setData({
          _index: val
        })
      }
    }
  },

 

小程序properties属性中的observer的使用及其使用注意(防止内存泄漏,即无限循环调用)

上一篇:微信小程序 自定义组件 多列选择器 对象数组 ObjectArray 自关联 三级联动


下一篇:微信小程序—支付宝小程序与微信小程序的不同点对比