在js中直接采用this.obj.attr = 'xxx'的方式修改对象的属性值,发现视图层没更新重新渲染出最新的数据,此时可以采用this.$set进行操作

语法:this.$set(target, propertyName/index, value)

1、为对象添加属性或修改指定属性

var obj = {
    name: '张三'
};
this.$set(obj, 'name', '李四');//修改name属性值
this.$set(obj, 'age', 18);//追加age属性并赋值
console.log(obj); //{name: '李四', 'age': 18}

2、修改数组值

var arr = [1, 2, 3];
this.$set(arr, 0, 4);
console.log(arr);//[4, 2, 3]

如果想要对整个数组重新赋值,可以采用以下方法:

var arr1 = [1, 2 , 3];
var arr2 = [4, 5, 6];
arr1.splice(0, 3, ...arr2);
console.log(arr1);//[4, 5, 6]

Logo

前往低代码交流专区

更多推荐