vue---數據更新,視圖不更新問題

 


寫點贊功能時,點贊後已經追加到對象裏了,可是視圖沒有更新。vue

 

 

 

 

查找了些資料:python

數據已經更新了可是視圖不更新的問題,有幾個緣由:數據庫

一、根屬性不存在,而想要直接給根屬性賦值致使的視圖不更新。此時初始化屬性的時候給根屬性初始化一個空值就能夠了。數組

二、只有經過如下幾個方法更新數組異步

push()
pop()
shift()
unshift()
splice()
sort()
reverse()

vue才能檢測到數組更新。若是想直接經過下標修改數組的話,就須要使用vm-set 方法來通知vue你更新了這個數組。this

語法爲:對象

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'})

 

對象添加能夠使用:blog

this.$set(對象名,屬性,值)

 

 

-----------------------------------------------2019/3/22更新-----------------------------------------get

//這塊思路 由於得異步更新,點贊後單獨更新這一條
//vue數據更新後 同步更新視圖 對於對象來講要用Vue.set這種寫法
//先把用戶點讚的 moment_id存進對象,{51:true,60:true,...},
//判斷對象中的屬性,v-if="zan_obj[item.id]" 爲true就亮紅心,用過濾器使點贊數值+1
//下拉刷新時,清空此對象,此時使用數據庫中的點贊狀態數據
Vue.set(vm.zan_obj,mom_,true);同步

相關文章
相關標籤/搜索