2020-3-29 seo達(dá)人
Vue中如何監(jiān)控某個(gè)屬性值的變化?
比如現(xiàn)在需要監(jiān)控data中,obj.a 的變化。Vue中監(jiān)控對(duì)象屬性的變化你可以這樣:
watch: {
obj: {
handler (newValue, oldValue) {
console.log('obj changed')
},
deep: true
}
}
deep屬性表示深層遍歷,但是這么寫(xiě)會(huì)監(jiān)控obj的所有屬性變化,并不是我們想要的效果,所以做點(diǎn)修改:
watch: {
'obj.a': {
handler (newName, oldName) {
console.log('obj.a changed')
}
}
}
還有一種方法,可以通過(guò)computed 來(lái)實(shí)現(xiàn),只需要:
computed: {
a1 () {
return this.obj.a
}
}
利用計(jì)算屬性的特性來(lái)實(shí)現(xiàn),當(dāng)依賴改變時(shí),便會(huì)重新計(jì)算一個(gè)新值。
藍(lán)藍(lán)設(shè)計(jì)的小編 http://m.sillybuy.com