1、問題描述:初次加載時,調用vuex中state中的數據,但是vuex中state的數據需要axios請求獲取。此時出現問題組件調用的時候 axios還沒有執行完成,state的數據還是默認值。
此時應該想起來computed,沒錯,這個渲染進頁面沒有毛病,代碼如下:
computed:{ loginState:function(){ return this.$store.getters.getLogin } }
那么問題又來了 ,你想要在獲取到state中的數據后執行某個方法怎么辦???你在js中執行console.log(this.loginState)的結果依然是state的默認值,這是問題的關鍵哦。此時應該想起watch,代碼如下:
watch: { loginState(val) { console.log(val) } }
此時的val就是axios執行完成之后獲取的數據。搞定!!!