猿问

VUE监听数组新旧值不变化,请教前辈原因?

最近在自学vue对于watch监测这块还有点疑问,请教前辈帮忙解答。
具体问题如下:测试监测不同类型data数据的新旧值,在有数组的情况下,watch监测到了数组的变化但是没监测到变化前的旧值。在官网也查了文档,问题应该是出在下面这里,无奈对于官网文档给出的解决方法看不懂,求各位大神给与指点!!!
g:{
handler:function(val,oldVal){
console.log("newG:"+val,'oldG:'+oldVal);
}
}
当你利用索引直接设置一个项时,例如:vm.items[indexOfItem]=newValue当你修改数组的长度时,例如:vm.items.length=newLength
watch
实例1
A:
B:
Cname:
Dname:
arry:
人到中年有点甜
浏览 1237回答 2
2回答

慕斯王

知道怎么用但是说不出来o(╯□╰)o数组本身有值:oldArr=[1,2,3],渲染到html上显示1,2,3;现在需求来了,要改一下数组的值,变成newArr=[1,3,5],并让html渲染成1,3,5;怎么办?1.替换数组;2.变异方法;你都不想用,就要通过index改变数组的值,让html显示1,3,5.然后就出现了你看到的那个问题。通过改index什么的,怎么解决?1.Vue.set(vm.items,indexOfItem,newValue);2.vm.items.splice(indexOfItem,1,newValue);大概就是这么个意思
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答