关于小程序自定义组件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 就可以了