猿问

vuex中提交mutations的时候保存到localstorage,想在刷新时从state新获取localstorage。

代码如下:
Vue.use(Vuex)
constlocalLoginData=global.localStorage;
conststore=newVuex.Store({
state:{
logindata:JSON.parse(localStorage.getItem('logindata')),//初始化vuex,刷新时获取localstorage
form1:{}//登录信息
},
getters:{
getUserInfo:(state)=>state.logindata==null?'':state.logindata,
},
mutations:{
updatelogindata(state,logindata){
state.logindata=logindata;
localStorage.setItem('logindata',JSON.stringify(logindata));//提交mutation成功后保存logindata到localStorage
},
updatamessage(state,form1){
state.form1=form1
}
},
为什么一刷新还是state还是清空了,明明已经保存成功到了localstorage里了啊,试过很多方法了,难道vuex不能实现持久化缓存么?
慕无忌1623718
浏览 332回答 2
2回答

侃侃无极

看到这个问题我也想不通,然后我按你的思路试了一下,能很好的工作,所以在vuex的mutation里将数据保存到localstorage应该是没有问题的,你还得仔细查一下代码是不是哪个地方写的有问题。

阿波罗的战车

登录信息也保存一下,在state.form1=form1后面;constlocalLoginData=global.localStorage这句可以不用。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答