如何给一个响应式数据添加一个属性 this.$set

Posted qing-xrr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给一个响应式数据添加一个属性 this.$set相关的知识,希望对你有一定的参考价值。

this.$set(this.data,”key”,value’)

 

Vue.set(vm.items,2,"ling") : 表示 把vm.items  这个数组的下标为2 的元素,改为"ling"

Vue.set(vm.person,"age","26") 

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

区别在于Vue.set()是将set函数绑定在Vue构造函数上,this.$set()是将set函数绑定在Vue原型上。

Vue.set数组实现的原理:其实Vue.set()对于数组的处理其实就是调用了splice方法

技术图片

 

以上是关于如何给一个响应式数据添加一个属性 this.$set的主要内容,如果未能解决你的问题,请参考以下文章

Vue的数据响应式

Vue响应式原理/双向数据绑定

Vue2源码解读

VUE this.$set方法

VUE关于data对象中数组修改和对象添加属性的响应式问题

VUE this.$set方法