我们在登录成功的时候需要把用户信息,菜单信息作为全局的共享数据放置vuex中。但是在页面刷新的时候vuex里的数据会重新初始化,导致数据丢失。主要原因是vuex里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,vuex里面的数据就会被重新赋值
解决办法:
1:将vuex中的数据直接保存到浏览器缓存中(sessionStorage、localStorage、cookie)
2:在页面刷新的时候再次请求远程数据,使之动态更新vuex数据
3:在父页面向后台请求远程数据,并且在页面刷新前将vuex的数据先保存至sessionStorage(以防请求数据量过大页面加载时拿不到返回的数据)
分析:
1 : 缺点是不安全,且不适用大数据量的存储;
2 : 适用于少量的数据,并且不会出现网络延迟;
3 : 办法二和办法一 一起使用……