直接通过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)) } }