视图不更新有几个原因:
1, 根属性不存在, 而想要直接给根属性赋值导致的视图不更新. 此时初始化属性的时候给根属性初始化一个空值就可以了.
2, 只有通过以下几个方法更新数组
- push()
- pop()
- shift()
- unshift()
- splice()
- sort()
- reverse()
vue 才能检测到数组更新. 如果想直接通过下标修改数组的话, 就需要使用 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'
- })
来源: http://www.jianshu.com/p/df958f4d728d