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 中存在的属性才是响应式的
原文地址:https://www.cnblogs.com/youngMan-MrS/p/12888743.html