亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于 Vue+Vuex的幾個問題

關于 Vue+Vuex的幾個問題

HUWWW 2018-09-03 12:05:18
業務場景:進入一個頁面后,需要發起請求去獲取數據。比如進入用戶詳情頁面,頁面需要展示username,age等數據,但這些數據需要發起一個請求去拿到。在模板中通過{{userInfo.username}}這種方式獲取。實現這個操作我的思路是:在對應的組件創建或者掛載時觸發一個action,通過這個action發起請求,action拿到數據后賦值進state,在組件中可以通過getter拿到state中對應的數據.通過上述方法實現會遇到一個問題:運行時會報出這樣的錯誤:[Vue warn]: Error when rendering component <app-header>: Uncaught TypeError: Cannot read property 'username' of null我理解錯誤原因是:組件在請求還沒有拿到數據的時候就會渲染,當渲染{{userInfo.username}}時,其實userInfo還是null.所以現在就產生了幾個問題:1.項目中使用Vuex,是不是組件中需要的數據都需要通過getter從state中獲取,包括一些通過請求拿到的數據?2.如果上述是正確的話,那么遇見例子中報錯的情況應該怎么處理?3.如果不正確,那么對于這種 組件渲染時需要的數據還沒拿到 情況要怎么處理?
查看完整描述

2 回答

?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

感覺是應為在store里沒有定義出事state吧

查看完整回答
反對 回復 2018-09-09
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

既然使用了Vuex,最好還是通過getter去獲取比較好。
對于例子中的報錯,我認為可以在組件初始化時,給userInfo一個非空賦值(比如{})。這樣就不會導致頁面報錯。

查看完整回答
反對 回復 2018-09-09
  • 2 回答
  • 0 關注
  • 891 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號