對象屬性監聽的兩種方法:函數
1.普通的watchthis
data() { return { frontPoints: 0 } }, watch: { frontPoints(newValue, oldValue) { console.log(newValue) } }
2.對象屬性的watchspa
data() { return { bet: { pokerState: 53, pokerHistory: 'local' } } }, watch: { bet: { handler(newValue, oldValue) { console.log(newValue) }, deep: true } }
tips: 只要bet中的屬性發生變化(可被監測到的),便會執行handler函數;
若是想監測具體的屬性變化,如pokerHistory變化時,才執行handler函數,則能夠利用計算屬性computed作中間層。
事例以下:code
3.對象具體屬性的watch對象
data() { return { bet: { pokerState: 53, pokerHistory: 'local' } } }, computed: { pokerHistory() { return this.bet.pokerHistory } }, watch: { pokerHistory(newValue, oldValue) { console.log(newValue) } }
對象具體屬性的watch能夠直接用引號把屬性括起來,就能夠實現對象中特定屬性的監聽事件:blog
data() { return { bet: { pokerState: 53, pokerHistory: 'local' } } }, watch: { 'bet.pokerHistory'(newValue, oldValue) { console.log(newValue) } }