美文网首页
Vuex强制刷新数据丢失解决方案

Vuex强制刷新数据丢失解决方案

作者: 苏晓枫 | 来源:发表于2020-06-10 22:51 被阅读0次

Vuex强制刷新数据丢失解决方案

解决思路:

  • 将store中的数据缓存到客户端存储中:cookielocal storagesession storage
    • 考虑到cookie存储空间很小只有4KB,而且存在声明周期,超过这个期限,cookie就会失效;
    • 关于选择使用local storage还是session storage这里就需要看需求:
      • 如果store中的数据在下一次访问时需要用到的话,就可以使用local storage
      • 如果没有则可以使用session storage,它会在当前会话结束(浏览器窗口关闭)去清除session storage
  • App.vue文件的created方法中去监听beforeunload方法,当页面被强制刷新的时候去触发这个方法。
export default {
  name: 'App',
  created () {
    //在页面加载时读取sessionStorage里的状态信息
    if (sessionStorage.getItem("store")) {
      // 替换 store 的根状态
      this.$store.replaceState({...this.$store.state,JSON.parse(sessionStorage.getItem("store"))})
    }
    //在页面刷新时将vuex里的信息保存到sessionStorage里
    window.addEventListener("beforeunload",() => {
      sessionStorage.setItem("store",JSON.stringify(this.$store.state))
    })
  }
}

相关文章

  • Vuex强制刷新数据丢失解决方案

    Vuex强制刷新数据丢失解决方案 解决思路: 将store中的数据缓存到客户端存储中:cookie、local s...

  • Vuex + localStorage 实现用户登录

    使用过 Vuex 的都知道, 存储在 Vuex 中的数据不能持久化, 刷新页面之后数据就会丢失, 这对于用户登录需...

  • vuex状态持久化,vuex-persistedstate

    保存在vuex里的数据,页面刷新就会丢失,可以用vuex-persistedstate来持久化,默认用的是loca...

  • 页面刷新,VUEX数据丢失

    原因:VUEX数据一般是放在计算属性computed中,但是刷新页面VUEX中的数据没有更改,即不触发comput...

  • 解决Vuex刷新丢失数据

    看了网上的解释 解决办法是localStorage 然后就不明白了 既然可以使用localStorage 为什么还...

  • Vuex数据持久化

    使用Vuex时发现页面刷新以后Vuex里面存储的state数据会丢失,因为我们的state都是存储在内存中的。解决...

  • 46.vue数据存储

    vuex 刷新就会丢失sessionStorage 它有只要页面不关闭,不手动删除数据,数据就会一直存在,现在...

  • 开发遇到的问题汇总

    1、 运用vuex,页面刷新后vuex中得数据丢失:解决:将保存在vuex中后期需要用到得请求接口参数的字段用l...

  • vuex 数据持久化插件

    数据持久化: 刷新页面,vuex里面数据丢失、清空。有时候我们需要把一些数据固话到本地,即使刷新也不能清空,例如:...

  • 解决刷新页面vuex store中数据丢失的问题

    前言: 在使用vuex store做数据状态储存的时候,页面刷新之后,store数据丢失,导致用户状态、token...

网友评论

      本文标题:Vuex强制刷新数据丢失解决方案

      本文链接:https://www.haomeiwen.com/subject/ohimtktx.html