只监听对象某个属性变化的优化。
deep的意思就是深入观察,监听器会一层层的往下遍历,给对象的所有属性都加上这个监听器,但是这样性能开销就会非常大了,任何修改obj里面任何一个属性都会触发这个监听器里的 handler。
但是在实际开发过程中,我们很可能只需要监听obj中的某几个属性,这样设置deep:true之后就显得很浪费!
于是我们可以使用字符串形式来优化监听。
前面obj的监听可以去掉了!
watch: {
'obj.age': {
handler (newValue, oldValue) {
console.log('王明的年龄更新了新值是' + newValue + ',旧值是' + oldValue)
},
immediate: true
},
'obj.brother.age': {
handler (newValue, oldValue) {
console.log('王刚的年龄更新了新值是' + newValue + ',旧值是' + oldValue)
},
immediate: true
},
}
网友评论