为了账号安全,请及时绑定邮箱和手机立即绑定

vuex中想在刷新时从state新获取localstorage。

vuex中想在刷新时从state新获取localstorage。

www说 2018-09-01 21:37:59
vuex中提交mutations的时候保存到localstorage,想在刷新时从state新获取localstorage。Vue.use(Vuex)const localLoginData = global.localStorage;const store = new Vuex.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不能实现持久化缓存么?
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

  1. 登录信息也保存一下,在 state.form1 = form1 后面;

  2. const localLoginData = global.localStorage 这句可以不用。


查看完整回答
反对 回复 2018-09-09
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

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

查看完整回答
反对 回复 2018-09-09
  • 2 回答
  • 0 关注
  • 2315 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信