Vue.set( target, key, value )
也可以用vue的实例对象这种形式来实现,this或vm
this.$set( target, key, value )
vm.$set( target, key, value )
- 参数:
{Object | Array} target
{string | number} key
{any} value
返回值:设置的值。
用法:
向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 this.myObject.newProperty = ‘hi’)
注: Vue 不允许动态添加根级响应式属性。
理解
Vue.set( target, key, value ),使用这个方法,存在则修改,不存在,则添加
- 数组使用的时候,target即此实例上的数组,key是数组的索引,修改,则是此数组的所有索引之一,如果是添加,则是数组的长度值,即最大索引加1,value值不限
- 对象使用的时候,target即实例上的此对象,key是属性名,修改,则是此对象的所有属性名之一,如果是添加,则是新的属性名,value值不限
详细案例
https://blog.csdn.net/qq_30455841/article/details/78666571