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

关于vuex保存登录状态刷新清空的问题

关于vuex保存登录状态刷新清空的问题

叮当猫咪 2019-03-07 10:15:27
想在登录成功后将返回的信息保存到logindata里代码如下定义了一个actions异步请求的方法在组件里通过dispatch触发,登录成功后我先将登录状态保存到了localstorage里,然后获取里面的数据保存到logindata里,最后再将state里的所有数据保存到localstorage里,但是一刷新还是全部清空了,请问这是为何。最后明明都保存到localstorage里了,有没有什么办法能让他刷新不清空vuex
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

首先一刷新所有JS代码都重新执行了,所以vuex中的state肯定也是重置的,你的想法没错,把从远端获取到的数据存到浏览器本地储存,但是我好像没看你初始化vuex的一步,就是应用重启时应该把本地存储里的数据放到vuex中的state里。


很简单


const localLoginData = localStorage.getItem('data')

const store = new Vuex.Store({

    state: {

        logindata: localLoginData ?  JSON.parse(localLoginData) : {}

    }

})


查看完整回答
反对 回复 2019-03-18
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

首先你可以console下请求接口的data参数是否有,因为刷新页面,vuex都会重新置空。其次console下获取的data是否存到本地来了,然后console下存入到state的action函数是否有值。自己多找找,一般是可以找到原因的。


查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 1371 浏览
慕课专栏
更多

添加回答

举报

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