直接通過watch監聽對象,對象的屬性值變化並不會觸發這個監聽,通過查文檔發現還有一個屬性deep:true,可以深入監聽,
data:{
return { eleDate:{ a: '對象a', b: '對象b' } } }, watch: { eleDate: { handler: (val, olVal) => { console.log('我變化了', val, olVal)//但是val和olVal值一樣 }, deep: true } },
但是監聽到的新舊值是一樣的,所以通過computed和watch使用
data:{ return { eleDate:{ a: '對象a', b: '對象b' } } }, watch: { eleDateNew: { handler: (val, olVal) => { console.log('我變化了', val, olVal) }, deep: true } }, computed: { eleDateNew() { return JSON.parse(JSON.stringify(this.eleDate)) } }