对象 this.$set(obj, key, value)
我们想在当前对象添加新属性时,视图层并未更新显示这个新属性。
代码如下:
这是由于受JavaScript 的限制,vue.js 不能监听对象属性的添加和删除,因为在vue组件初始化的过程中,会调用 getter 和 setter 方法,所以该属性必须是存在在data 中,视图层才会响应该数据的变化。
解决方案1:
使用 this.$set(object,key,value)
解决方法2:
使用 Object.assign(target,sources)
以上两种方法,都可以看到它的对象身上多了 set,get 方法,所以下次再操作就可以看到视图的变化。