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

JavaScript016

vue 中的Vue.set 和 this.$set 的区别,第1张

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

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

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

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

例子:

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

Vue.set(target,key,value)

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

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

value:any

返回值:设置的目标

因为 JavaScript 的限制,Vue.js 不能检测到下面数组变化:

直接用索引设置元素,如 vm.items[0] = {};

修改数据的长度,如 vm.items.length = 0。

this.examineIntro.questionList[0].selList[1].url = url