首页 前端知识 vue this.$set为对象添加属性或修改指定属性

vue this.$set为对象添加属性或修改指定属性

2024-06-07 12:06:20 前端知识 前端哥 958 829 我要收藏

在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]

// 添加多个属性,应该用两个对象
this.obj = Object.assign({}, this.obj, {age: 20, gender: 'male'})
// 或
this.user = Object.assign( {}, this.user, {
  age: 20,
  gender: 'male'
})

vue向数组中的每一个对象都添加一个元素

var newTableData=[{ a: '1'},{ b: '2'}, {c: '3'}, {d: '4' }]
 this.newTableData.map((item, index) => {
        this.tableData.push(
          Object.assign(
            {},
            item,
            { isExpend: false }
          )
        )
      })

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11281.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!