【爬坑日記】vue中watch物件中某一個屬性變化

BenjaminC發表於2018-07-13

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

相關文章