解决watch数组新旧值无法监听的问题:
问题原因为新旧值同源,解决方案如下,直接computed一个数组的深度拷贝,监听拷贝即可。
new Vue({
el:"#example",
data:{
arr:[1,2,3],
index:1
},
methods:{
changeArr(){
this.arr.push(this.index++);
}
},
computed:{
newarr(){
return JSON.parse(JSON.stringify(this.arr));
}
},
watch:{
newarr:{
handler(newval,oldval){
console.log(‘newval:’,newval);
console.log(‘oldval:’,oldval);
}
}
}
})
解决watch数组新旧值无法监听的问题
最新推荐文章于 2024-06-07 09:34:54 发布
本文探讨了在Vue中,由于新旧值同源导致watch监听失效的问题,提供了解决方案——通过计算属性创建数组的深度拷贝,并演示了如何使用JSON.parse(JSON.stringify)实现。
3727

被折叠的 条评论
为什么被折叠?



