vue 解决 刷新丢失数据

使用vue开发时,遇到第二个问题就是刷新后登录的用户信息丢失了,这个主要是由vuex中的数据在页面刷新之后其中的数据会初始化。我们可以结合localStorage或sessionStorage来避免这个问题,如下:
1、在登录成功设置用户信息时,同时保存到sessionStorage

const mutations = {
  SET_USER : (state, user) => {
    state.user = user;
    state.token = user.token;
    state.name = user.sys_user_info.name;

    sessionStorage.setItem(sessionUserKey, JSON.stringify(user))
  }
}

2、在组件初始化时先从sessionStorage读取用户信息,如有则使用当前用户信息,否则使用默认空用户信息

//  空用户对象
const sessionUserKey = "session_user";
const emptyuser = {"token":"","sys_user_info":{"name":""}};
const sessionUserStr = sessionStorage.getItem(sessionUserKey);
const sessionUser = sessionUserStr ? JSON.parse(sessionUserStr) : emptyuser

//  状态
const state = {
  token: sessionUser.token || getToken(),
  name: sessionUser.sys_user_info.name || '',
  user : sessionUser,
}

完毕…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值