这个问题估计大家很难想到,如果一个数组[1,2,3,4],然后我们v-for遍历,我们改变数组的值,arr[1] = 5 ,难道不应该改变么?按理说根据vue的特性应该是改变的,但是事实上确实数组已经改变了,但是页面上面却没有变化。有三种解决办法。
1.通过7个特定的api方法来实现
push pop shift unshift splice sort reverse
如果我们想要实现上面说的效果就 这样写:vm.list.splice(2,1,5) //意思是把list这个数组的坐标为二的值开始,删除1个,然后添加一个5
2.通过改变对象地址的方法来实现
说白了就是 vm.list=[1,5,3,4] 重新赋值
3.通过set的方法来实现
Vue.set(vm.list,1,5) // Vue 对象
vm.$set(vm.list,2,6) // Vue 实例