vue 动态添加单个,多个属性,触发视图更新

昨天在vue项目中由于一些需求须要在JSON中新增一个属性,也能console出来,可是就是不能在页面渲染,即不能触发视图更新 

以前咱们向对象中新增属性的时候直接是这样写的:vue

var obj={};
obj.name="wenwen";复制代码

我也在项目中这样写了,因此就报错了,哈哈哈~bash

其实在vue 中新增属性应该用$set这个方法的this

1. 添加单个属性spa

用$set()方法,既能够新增属性,又能够触发视图更新。
code

this.$set(this.data,”key”,value)复制代码

此时咱们应该这样写:对象

this.$set(this.obj,"name","wenwen");复制代码

这样就没错啦~~string

2.添加多个属性console

使用 Object.assign()用原对象与要混合进去的对象的属性一块儿建立一个新的对象。
class

this.obj=Object.assign({}, this.obj, {				  
                                  age: 18,
				  love: '帅哥'
				})复制代码
相关文章
相关标签/搜索