在專案中需求是隻 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
}
}
複製程式碼