想要改变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