在开发过程中,我们经常需要监听watch监听一个对象的变化或者对象里某一个属性的变化,但是如何来实现呢?
监听整个对象的变化
data() {
return {
obj: {
b: 1,
c: 2
}
}
},
watch() {
obj: {
handler(newVal, oldVal) {
console.log('监听obj整个对象的变化');
},
deep: true
}
}
}
监听对象某个属性的变化
export default {
data() {
return {
obj: {
b: 1,
c: 2
}
}
},
watch() {
'obj.b': {
handler(newVal, oldVal) {
console.log('监听obj属性b的变化');
}
}
'obj.c': {
handler(newVal, oldVal) {
console.log('监听obj属性c的变化');
}
}
}
}
或者watch配合computed
export default {
data() {
return {
obj: {
b: 1,
c: 2
}
}
},
watch() {
bChange() {
console.log('监听obj对象中b属性的变化');
}
},
computed() {
bChange() {
return this.obj.b;
}
}
}