VUE数据更新视图不更新的原因
当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
当你修改数组的长度时,例如:vm.items.length = newLength
数组更新只能通过以下方法push()
pop()
shift()
unshift()
splice()
sort()
reverse()
如果想直接通过下标修改数组的话,就需要使用vm-set 方法来通知vue你更新了这个数组。
vm.$
set
( target, key, value )
Vue.
set
(vm.obj,
'k1'
,
'v1'
)
this.$
set
(this.obj,
'k1'
,
'v1'
)
this.obj
=
Object
.assign({}, this.obj)
this.obj
=
Object
.assign({}, this.obj,{
'k1'
,
'v1'
})
另外:实例被创建时 data 中存在的属性才是响应式的