vue 深度监听watch用法的
属性immediate和deep
// An highlighted block
watch: {
baseData: {
handler(newcal, oldval) {
this.baseData = newcal;
},
deep: true
},
formItem: {
handler(newval,oldval){
this.txtVal = newval.entrustmatter.length;
this.txtVal_1 = newval.entrustrequest.length;
},
deep:true
}
},
deep和immediate,默认值是 false
deep就是深入观察,监听器会一层层的往下遍历,给对象的所有属性都加上这个监听器,但是这样性能开销就会非常大了,任何修改obj里面任何一个属性都会触发这个监听器里的 handler。
优化,我们可以是使用字符串形式监听。
// An highlighted block
watch: {
baseData: {
handler(newcal, oldval) {
this.baseData = newcal;
},
immediate: true
},
formItem: {
handler(newval,oldval){
this.txtVal = newval;
},
immediate:true
}
},