Vuex異步請求數據后,在組件中獲取狀態的方法


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執行完成之后獲取的數據。搞定!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM