由于 Vue 会在初始化实例时进行双向数据绑定,使用Object.defineProperty()对属性遍历添加 getter/setter 方法,所以属性必须在 data 对象上存在时才能进行上述过程 ,这样才能让它是响应的。如果要给对象添加新的属性,此时新属性没有进行过上述过程,不是响应式的,所以会出想数据变化,页面不变的情况。此时需要用到$set。
this.$set(Array, index, newValue)
博客介绍了 Vue 初始化实例时的双向数据绑定原理,即通过 Object.defineProperty() 对 data 对象属性添加 getter/setter 方法实现响应式。若给对象添加新属性,因未经历此过程,会出现数据变页面不变的情况,此时需用 $set 解决。
由于 Vue 会在初始化实例时进行双向数据绑定,使用Object.defineProperty()对属性遍历添加 getter/setter 方法,所以属性必须在 data 对象上存在时才能进行上述过程 ,这样才能让它是响应的。如果要给对象添加新的属性,此时新属性没有进行过上述过程,不是响应式的,所以会出想数据变化,页面不变的情况。此时需要用到$set。
this.$set(Array, index, newValue)
1万+

被折叠的 条评论
为什么被折叠?