在開發(fā)過程中散休,我們經(jīng)常需要監(jiān)聽watch監(jiān)聽一個對象的變化或者對象里某一個屬性的變化,但是如何來實現(xiàn)呢丰介?
監(jiān)聽整個對象的變化
data() {
return {
obj: {
b: 1,
c: 2
}
}
},
watch() {
obj: {
handler(newVal, oldVal) {
console.log('監(jiān)聽obj整個對象的變化');
},
deep: true
}
}
}
監(jiān)聽對象某個屬性的變化
export default {
data() {
return {
obj: {
b: 1,
c: 2
}
}
},
watch() {
'obj.b': {
handler(newVal, oldVal) {
console.log('監(jiān)聽obj屬性b的變化');
}
}
'obj.c': {
handler(newVal, oldVal) {
console.log('監(jiān)聽obj屬性c的變化');
}
}
}
}
或者watch配合computed
export default {
data() {
return {
obj: {
b: 1,
c: 2
}
}
},
watch() {
bChange() {
console.log('監(jiān)聽obj對象中b屬性的變化');
}
},
computed() {
bChange() {
return this.obj.b;
}
}
}