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 中存在的属性才是响应式的