关于小程序自定义组件observer 频繁触发导致内存溢出

2020-03-04  本文已影响0人  JsLin_

组件 使用 observer 的目的是 组件某一个属性改变,获得监听,处理想要的数据。

但是,直接改变 properties 下的属性 可能存在内存溢出的情况,这个时候可以考虑,重新给组件挂载一个值,

...
properties: {
    list: {
      type: Array,
      value: [],
      observer:"handleData"
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    newData :[] //list 赋给当前组件,防止监听的时候溢出
  },
methods: {
    handleData:function(data){
      if(data){
          ...  ... 
        const newData = .......
        this.setData({listAttach:newData})
      }
    },
}

然后 布局的时候 渲染 newData  就可以了
上一篇 下一篇

猜你喜欢

热点阅读