VUE数据更新视图不更新的原因

时间:2022-06-15 06:29:37

当你利用索引直接设置一个项时,例如: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 中存在的属性才是响应式的