在项目中需求是只 watch 组件中的某个对象的其中一个属性,如dataObject中的 type属性且要获取oldValue,刚开始用了深度监听deep: true方法,发现并不能获取oldValue,只是能监听到属性变化的状态
watch: {
dataObject: {
handler(newVal, oldVal) {
console.log(newVal.type === oldVal.type) // true 即此时 newVal 和 oldVal 值一样
},
deep: true,
}
}
网上查阅后,正确写法
watch: {
'dataObject.type'(newVal, oldVal) {
console.log(newVal === oldVal) // false
}
}