背景
监听一个数组,数组中的每个元素都是对象,如果某个对象中的属性值变化时,watch中的val 和 oldval是一样的值
结构如:
let arr = [
{ a: 1, b: 2, c: 3},
{ a: 1, b: 2, c: 3}
]
解决方法
computed: {
newArr : function() {
return JSON.parse(JSON.stringify(this.arr))
}
}
在计算属性中写一个新的数组,值为JSON.parse(JSON.stringify)原数组得来的,这样arr变化时,也会触发计算属性,newArr也会变化
watch: {
newArr: {
handler: function(val, oldval){
console.log(val, oldval)
},
deep: true
}
}
这样的话,可以在val和oldval看到不同
版权声明:本文为A20190518原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。