Vue中使用vuex,页面刷新登录状态不丢失,退出登录后清空登录状态的解决方法
2019-05-28 16:39
1671 查看
前端小白,最近使用vue做用户的登录/退出,在开发过程中遇到的一些问题,记录下来。
由于vue自身特性的原因,vuex中的数据在页面刷新之后其中的数据会初始化,这就导致组件之间通过vuex传递的数据在用户f5刷新页面之后会丢失。
搜索了一些方法,使用localStorage实现页面刷新之后数据不丢失的方法
代码如下
vuex
const state = { userInfo: JSON.parse(localStorage.getItem("userInfo")) || {},//先去localStorage中获取数据 } const mutations = { setuserInfo(state, v) { localStorage.setItem('userInfo', JSON.stringify(v));//将传递的数据先保存到localStorage中 state.userInfo = v;// 之后才是修改state中的状态 }, }
组件中使用
if (rst.data.status == 1) { //登录成功 let userInfo = rst.data.userInfo this.$store.commit("setuserInfo", userInfo);//更新userInfo }
做到这里,登录成功后F5刷新页面,登录状态依旧保持了。(一阵狂喜)
但是当点击退出后,虽然发送后台退出成功了,但是页面登录状态还是依旧保持。。。因此需更新userInfo值为空
代码如下
if (rst.data.status == 1) { //退出成功 this.$store.commit('setuserInfo','');//更新userInfo }
到这里,遇到的问题完美解决了。
前端小白,如代码中有什么不足请多多指教哦!
相关文章推荐
- 在 vue-cli 中,使用VueX,并解决刷新state数据丢失问题
- php页面跳转session cookie丢失导致不能登录等问题的解决方法
- 使用vue的时候我们使用keep-alive会将页面缓存的解决方法
- 使用ajax登录的时候设置session,刷新页面后session丢失
- 通过localStorage解决vuex中的信息页面刷新丢失的问题
- 关于在FireFox 3.0 中showModalDialog的页面刷新window.dialogArguments引用丢失的解决方法
- 解决vuex在页面刷新后数据丢失的问题
- 使用sessionStorage解决vuex在页面刷新后数据被清除的问题
- 解决ecshop退出登录会清空购物车的bug优化最完美方法
- ecshop退出登录会清空购物车的bug优化,最完美解决方法
- 解决 TextBox 的 ReadOnly 属性为 true 时,刷新页面后值丢失的方法
- javaweb用户注销后点击浏览器返回刷新页面重复登录问题的解决方法
- CAS的Session两秒挂掉?--解决退出后登录,页面刷新的问题
- php页面跳转session cookie丢失,不能登录等问题解决方法
- vue使用prerender-spa-plugin预渲染插件图片多导致build打包后页面异常大的解决方法
- vue单页应用在页面刷新时保留状态数据的方法
- 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”
- php页面跳转session cookie丢失导致不能登录等问题的解决方法
- 『PHP』UTF8编码页面存入GBK数据时使用iconv遇到无法转码的字符时中断内容丢失及解决方法
- 使用EhCache时,用户按住F5刷新页面,导致socket write error错误的解决方法