关于08的处理,我有一点看法
来源:8-14 千万不要在observer中修改自身属性值

曼曼喜欢你
2020-03-06
在properties中,如果因为observer改变了index的值,导致不断的循环observer,且导致内存溢出。那么我可以用以下代码来规避这个问题,请老师帮忙看看:
properties: {
index:{
type:String,
observer:function(newVal,oldVal,path){
let val = newVal.length < 2 ? '0' + newVal : newVal
this.setData({
index: val
})
}
}
},
我将index的类型改为String,并且在observer中判断index的长度,如果长度小于2,就可以执行补0嘛。
老师在课程中提到,在data中通过新的属性_index去接收「observer处理过后的index」的值,我个人认为代码会更复杂。
但考虑到老师是出于课程知识点考虑,我是可以接受的。
写回答
1回答
-
其实处理的方案很多,这里主要是为了提醒大家注意这个问题。你的方法也是ok的
012020-03-07
相似问题