美文网首页
Vuex刷新状态消失

Vuex刷新状态消失

作者: 青乌 | 来源:发表于2020-08-18 15:37 被阅读0次

利用sessionStorage配合保存状态,刷新前sessionStorage赋值给state。

export default {
  name: "app",
  components: {},
  created() {
    // 页面每次刷新加载时候都会去读取sessionStorage里面的vuex状态
   if (sessionStorage.getItem("store")) {
      this.$store.replaceState(
        Object.assign({},
          this.$store.state,
          JSON.parse(sessionStorage.getItem("store")) //这里存的是可能经过mutions处理过的state值,是最新的,所以放在最后
        )
      )
    }
    // 在页面刷新之前把vuex中的信息存到sessionStoreage
    window.addEventListener("pagehide", () => {
      sessionStorage.setItem("store", JSON.stringify(this.$store.state));
    });
  }
};

会话历史事件

pageshow事件:在用户访问页面时触发;
pageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, pageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。

pagehide事件:在用户离开当前网页时触发。
pagehide 事件有时可以替代 unload事件,但 unload 事件触发后无法缓存页面。

相关文章

  • Vuex刷新状态消失

    利用sessionStorage配合保存状态,刷新前sessionStorage赋值给state。 this.$s...

  • Vuex持久化插件(vuex-persistedstate)-解

    vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,但是有时候我们并不希望如此。例如全局相关的,如登录状态、...

  • vuex

    刷新消失的特性 vuex是刷新即清空数据的, 因为vuex的定位就是一个全局变量集,.因此要在vuex中保存用户信...

  • Vuex数据状态持久化

    vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,这是我们不愿意看到的。怎么解决呢,我们可以结合本地存储做...

  • Vuex持续保存数据 页面刷新不丢失 vuex-persist

    vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,这是我们不愿意看到的。怎么解决呢,我们可以结合本地存储做...

  • Vuex数据状态持久化-vuex-persistedstate

    vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,这是我们不愿意看到的。怎么解决呢,我们可以结合本地存储做...

  • Vuex持久化插件-解决刷新数据消失的问题

    vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,这是我们不愿意看到的。怎么解决呢,我们可以结合本地存储做...

  • #搭建Vue+TypeScript项目(三)

    vuex的使用 使用vuex-persistedstate持久化存储,你不想一刷新页面,vuex就消失吧,不想就用...

  • vuex刷新消失问题

    在项目中会遇到这种问题,同过vuex进行公共的状态管理,在父级页面设置的state,跳转到子页面的时候,是可以拿到...

  • vuex状态持久化 方案一

    vuex状态持久化 方案一 前言 我们都知道Vuex是一个状态管理器,而他的缺点也很明确,在页面刷新之后,Vuex...

网友评论

      本文标题:Vuex刷新状态消失

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