視圖不更新有幾個原因:
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'})