使用vuex请求刷新空白解决方法

vuex

在vuex里面请求接口 然后在对于页面进行拿取
通过this.$store.dispatch("自定义的名称").then(() => {
this.$store.state.medical.在data自定义的名称
}
然后里面对于的功能通过组件(父子) 组件里面进行拿,但是反复跳转会拿到控制

也就是会刷新数据拿不到

所以需要缓存配置
vuex当中请求数据进行切换时数据是显示的,
但是在对于页面进行刷新的时候,数据不见了 是空白的

第一种方法

app.vue

在created写入

  window.addEventListener("beforeunload", () => {
      localStorage.setItem("store", JSON.stringify(this.$store.state));
    });
    if (localStorage.getItem("store")) {
      this.$store.replaceState(
        Object.assign(
          {},
          this.$store.state,
          JSON.parse(localStorage.getItem("store"))
        )
      );
    }


第2种方法

在不同的页面进行缓存
直接缓存也不可直接缓存缓存个寂寞
//在拿到的时候通过判断长度不为0进行缓存
//这种方法是在有数据进行缓存 如果不这样写 就会缓存个寂寞
//单独的页面里面
 created() {
    if (this.$store.state.medical.managelist.length !== 0) {
      window.sessionStorage.setItem(
        "female",
        JSON.stringify(this.$store.state.medical.managelist)
      );
    }//进行缓存
 let list = JSON.parse(window.sessionStorage.getItem("female"));//进行拿取
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值