vue 中的Vue.set 和 this.$set 的区别

2019年8月14号上午,有个需求为,根据点击的按钮 联动一个下拉列表,如,点击“全部”,下拉列表显示所有的选项,点击“待申请”,下拉列表显示 待申请的选项。

想要改变vue中数组,并且被实时自动检测数组的变动,且渲染页面。就用Vue的set方法

原因是:

受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。

有,Vue.set 和this.$set 两种方法,

例子:


注释掉的两行是vue1版本的写法,不推荐,最新用法看下边用法。

区别:

1.Vue.set 可以设置实例创建之后添加的新的属性,(在data里未声明的属性),而。this.$set只能设置实例创建后存在的属性。

用法:

Vue.set(target,key,value)

target:目标数组,可是Object可是Array,

key:要改变的属性,可为string,可为number

value:any

返回值:设置的目标

你可能感兴趣的:(vue 中的Vue.set 和 this.$set 的区别)