在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 關(guān)于vuex保存登錄狀態(tài)刷新清空的問(wèn)題

關(guān)于vuex保存登錄狀態(tài)刷新清空的問(wèn)題

想在登錄成功后將返回的信息保存到logindata里
clipboard.png
代碼如下定義了一個(gè)actions異步請(qǐng)求的方法
clipboard.png
在組件里通過(guò)dispatch觸發(fā),登錄成功后我先將登錄狀態(tài)保存到了localstorage里,然后獲取里面的數(shù)據(jù)保存到logindata里,最后再將state里的所有數(shù)據(jù)保存到localstorage里,但是一刷新還是全部清空了,請(qǐng)問(wèn)這是為何。最后明明都保存到localstorage里了,有沒(méi)有什么辦法能讓他刷新不清空vuex

回答
編輯回答
陌如玉

首先一刷新所有JS代碼都重新執(zhí)行了,所以vuex中的state肯定也是重置的,你的想法沒(méi)錯(cuò),把從遠(yuǎn)端獲取到的數(shù)據(jù)存到瀏覽器本地儲(chǔ)存,但是我好像沒(méi)看你初始化vuex的一步,就是應(yīng)用重啟時(shí)應(yīng)該把本地存儲(chǔ)里的數(shù)據(jù)放到vuex中的state里。

很簡(jiǎn)單

const localLoginData = localStorage.getItem('data')
const store = new Vuex.Store({
    state: {
        logindata: localLoginData ?  JSON.parse(localLoginData) : {}
    }
})
2017年11月20日 02:43
編輯回答
焚音

首先你可以console下請(qǐng)求接口的data參數(shù)是否有,因?yàn)樗⑿马?yè)面,vuex都會(huì)重新置空。其次console下獲取的data是否存到本地來(lái)了,然后console下存入到state的action函數(shù)是否有值。自己多找找,一般是可以找到原因的。

2017年2月23日 03:42