解決vuex數(shù)據(jù)異步造成初始化的時(shí)候沒值報(bào)錯(cuò)問題
當(dāng)使用vue做登錄的時(shí)候,我們會(huì)把拿到的部分用戶信息存在vuex+cookie中,我們知道,vuex的數(shù)據(jù)是會(huì)隨著瀏覽器刷新而丟失的,此時(shí)我們會(huì)重新請(qǐng)求接口對(duì)vuex的數(shù)據(jù)進(jìn)行再次賦值,如下
當(dāng)有cookie但是vuex沒有數(shù)據(jù)的時(shí)候再次請(qǐng)求賦值
state
mutation
vuex的數(shù)據(jù)是異步的,當(dāng)我們頁(yè)面需要直接拿vuex的值進(jìn)行渲染的時(shí)候,初始化瞬間(即請(qǐng)求過程進(jìn)行的時(shí)候),vuex是沒有這個(gè)值的,如何解決這個(gè)問題,暫時(shí)總結(jié)了三種方法,希望有遇到的大佬進(jìn)行補(bǔ)充和查錯(cuò):
1.通過watch和mouted監(jiān)聽并且初始化vuex數(shù)據(jù)
在mounted的時(shí)候初始化該數(shù)據(jù) 并且watch該數(shù)據(jù)(不推薦)
2.在computed賦值該數(shù)據(jù) 并且在dom渲染的時(shí)候做非空的判斷
或者:
3.使用拓展運(yùn)算符
以上這篇解決vuex數(shù)據(jù)異步造成初始化的時(shí)候沒值報(bào)錯(cuò)問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue.js計(jì)算屬性computed與watch(5)
這篇文章主要為大家詳細(xì)介紹了Vue.js計(jì)算屬性computed與watch,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12使用Element+vue實(shí)現(xiàn)開始與結(jié)束時(shí)間限制
這篇文章主要為大家詳細(xì)介紹了使用Element+vue實(shí)現(xiàn)開始與結(jié)束時(shí)間限制,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08