Vue监听数组时如何获取数组中元素属性变化的元素
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利
如下代码,我想通过监听数组中age的变化来获取变化的元素,但是监听的函数发现无法判断前后变化的部分。
export default {
data() {
return {
people: [
{
name: 'tom',
age: 20
},
{
name: 'jack',
age: 22
}
]
}
},
method: {
changeAge(i) {
// if i = 0
let people = this.people[i]
people.age = 10
this.$set(this.people, i, people)
}
},
watch: {
people: {
handler(newVal, oldVal) {
// 这里希望通过判断age的变化来获取变化的元素
let isEqual = newVal[0].age === oldVal[0].age
console.log(isEqual) // it is always true
},
deep: true
}
}
}