更新時間:2021年05月07日17時37分 來源:傳智教育 瀏覽次數(shù):
比如現(xiàn)在需要監(jiān)控data中,obj.a 的變化。Vue中監(jiān)控對象屬性的變化你可以這樣:
watch: { obj: { handler (newValue, oldValue) { console.log('obj changed') }, deep: true } }deep屬性表示深層遍歷,但是這么寫會監(jiān)控obj的所有屬性變化,并不是我們想要的效果,所以做點修改:
watch: { 'obj.a': { handler (newName, oldName) { console.log('obj.a changed') } } }還有一種方法,可以通過computed 來實現(xiàn),只需要:
computed: { a1 () { return this.obj.a } }利用計算屬性的特性來實現(xiàn),當(dāng)依賴改變時,便會重新計算一個新值。