$set

Vue.set( target, propertyName/index, value )

参数:

{Object | Array} target
{string | number} propertyName/index
{any} value
返回值:设置的值。

用法:

向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新 property,因为 Vue 无法探测普通的新增 property (比如 this.myObject.newProperty = 'hi')

注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象。

翻译成人话:
比如data里面某个对象,新增了属性,这个属性虽然是添加上了,但是以后vue是检测不到变化的,无:法实现响应式渲染。
这个时候就需要$set(obj,xxx,“”) 的方式来为data下的obj对象增加新的属性xxx,这个xxx就可以是响应式的了。

posted @ 2020-08-10 17:35  张明岩  阅读(130)  评论(0编辑  收藏  举报