问题描述:
对于数组来说,当我们正常赋值的时候会出现一种情况,就是明明控制台输出时显示数组数值已经变化,但是页面并没有进行渲染变化。这是因为数组不能检测到变化。
//以下两种都是数组没办法检测到变化的赋值方式
var arr=[a,b];
arr[0]=c;
console.log(arr); //控制台输出[c,b],但是页面并不会渲染
arr.length=3; //同理页面依然不能响应
正确的赋值方式
//方法一
this.$set(this.arr,index,newValue); //arr=需要更新的数组,index=需要更新值的底标,newValue=更新的值
//方法二
this.arr.splice(indexOfValue,1,newValue); // indexOfValue=需要更换的底标,newValue=更新的值
完结撒花~