Vue 之 vuex 解决刷新页面 state 数据丢失的问题

Posted zhuangwei_8256

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue 之 vuex 解决刷新页面 state 数据丢失的问题相关的知识,希望对你有一定的参考价值。

  vue项目在使用 vuex 时都会存在一个问题,那就是当浏览器刷新时会清除 vuex 缓存的 state 数据,而偶尔可能会碰到某种需求需要实现在刷新浏览器时不清除vuex缓存的数据,那么该如何实现呢?
  这个时候我们就需要利用到浏览器的会话缓存 sessionStorage 来实现,具体实现代码如下:

  • App.vue 中增加监听刷新事件:
export default 
    name: "App",
    mounted() 
        window.addEventListener("unload", this.savaState);
    ,
    methods: 
        savaState() 
            sessionStorage.setItem("state", JSON.stringify(this.$store.state));
        
    

  • 然后在相应的 vuex 中的 state 属性中:
let stateStorage = sessionStorage.getItem("state");

const state = stateStorage ? JSON.parse(stateStorage) : 
    userInfo: 
        userName: ''
    

  
  

如有不足,望大家多多指点! 谢谢!

以上是关于Vue 之 vuex 解决刷新页面 state 数据丢失的问题的主要内容,如果未能解决你的问题,请参考以下文章

vue常见问题处理 -- 页面刷新时,如何保持原有vuex中的state信息

vue单页面应用刷新网页后vuex的state数据丢失的解决方案

Vue 刷新网页后 vuex 的 state 数据丢失的解决方案

解决vue单页面刷新后vuex中数据恢复初始值的问题

vue单页面应用刷新网页后vuex的state数据丢失问题以及beforeunload的兼容性

解决vuex刷新页面数据丢失