一、普通的watch数组
data() {
return { frontPoints: 0 } }, watch: { frontPoints(newValue, oldValue) { console.log(newValue) } }
二、数组的watch函数
data() {
return { winChips: new Array(11).fill(0) } }, watch: { winChips: {
handler(newValue, oldValue) {
for (let i = 0; i < newValue.length; i++) {
if (oldValue[i] != newValue[i]) {
console.log(newValue)
}
}
},
deep: true
}
}
三、对象的watchthis
data() {
return { bet: {
pokerState: 53,
pokerHistory: 'local'
} } }, watch: { bet: {
handler(newValue, oldValue) {
console.log(newValue)
},
deep: true
}
}
tips: 只要bet中的属性发生变化(可被监测到的),便会执行handler函数;
若是想监测具体的属性变化,如pokerHistory变化时,才执行handler函数,则能够利用计算属性computed作中间层。
事例以下:
四、对象具体属性的watch[活用computed]spa
data() {
return { bet: {
pokerState: 53,
pokerHistory: 'local'
} } },
computed: {
pokerHistory() {
return this.bet.pokerHistory
}
}, watch: { pokerHistory(newValue, oldValue) {
console.log(newValue)
}
}