我們經常會處理這樣的問題,在父組件執行異步方法,通過props傳值給子組件,但是子組件沒有獲取到.
碰到這樣的問題時,首先檢查代碼有沒有出錯,方法成功執行完沒有.其次想實時傳值過去.目前有個最簡單
最直接有效方法是給子組件添加ref屬性比如
<child ref="child"></child>
在異步方法執行完后例如使用的promise,那么就在then里面添加
this.$refs.child.init(data.result)
ps:此處的data.result是后台返回的對象或者數組
接着在子組件的methods內添加一個上面寫到的init方法(也可以是其他名稱,但是要對應)
如init:function(obj){
this.userInfo=obj
}
此處的userInfo只是舉例,他是data里面聲明的接收對象屬性名稱.
當然異步傳參還有很多其他方式,這里只是覺得這個挺實用,分享出來.