vue this.$set 修改值

对象 this.$set(obj, key, value)

我们想在当前对象添加新属性时,视图层并未更新显示这个新属性。

代码如下:


template片段
script片段
浏览器显示

这是由于受JavaScript 的限制,vue.js 不能监听对象属性的添加和删除,因为在vue组件初始化的过程中,会调用 getter 和 setter 方法,所以该属性必须是存在在data 中,视图层才会响应该数据的变化。

解决方案1:

使用 this.$set(object,key,value)


script片段
浏览器显示

解决方法2:

使用 Object.assign(target,sources)

script片段
浏览器显示

以上两种方法,都可以看到它的对象身上多了 set,get 方法,所以下次再操作就可以看到视图的变化。

集合 this.$set(array, index, object)


template片段
script片段
浏览器显示
浏览器显示
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容