解决vue 路由传参后退参数丢失的问题

2023-11-14

业务需求

从A页面传参跳转B页面,B页面传参跳转C页面,C页面可以返回B页面

遇到问题

当C页面返回B页面时,由于B页面参数丢失导致页面渲染失败

解决方案
利用localStorage

思路:把B页面拿到的参数啊也传给C页面,在C页面把数据存储在localStorage中,返回B页面判断有无,再从storage中取出

// A页面
linkToDetail(id?: string, sheetSize?: number) {  
    this.$router.push({
      name: 'B',
      query: {
        id: id + '',
      },
    });
  }

// B页面
// 判断数据源来源
async created() {
    if (this.$route.query.id) {
      this.id = this.$route.query.id;
    } else {
      const statisticsAnalyzeParams = localStorage.getItem(
      'statisticsAnalyzeParams',
      );
      this.id = JSON.parse(statisticsAnalyzeParams).id;
    }
    await this.getPageStatistics({ id: this.id });
}

linkToDetail(id: any) {
    this.$router.push({
      name: 'C',
      params: {
        pageId: this.id + '',
      },
    });
  }

// C页面
  beforeRouteLeave(to: any, from: any, next: any) {
    const tranferParams = {
      id: this.$route.params.pageId,
    };
   
      localStorage.setItem(
        'statisticsAnalyzeParams',
        JSON.stringify(tranferParams),
      );
     
    next();
  }
使用keep-alive
<keep-alive>
  <router-view v-if="$route.meta.keepAlive">
    <!-- 这里是会被缓存的视图组件! -->
  </router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive">
  <!-- 这里是不被缓存的视图组件! -->
</router-view>
// 路由文件
{
    path:'/index',
    name:'B',
    component:index,
    meta: {
        keepAlive: true // 需要被缓存
    }
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决vue 路由传参后退参数丢失的问题 的相关文章

  • 使用清华镜像编译aosp

    基础环境编译 与上一篇mac 编译 aosp 一样 http blog csdn net karts article details 54971227 只是 可以在 https mirrors tuna tsinghua edu cn he

随机推荐

  • 【第三阶段 day24】Axios的补充 IDEA自动注入mapper异常说明 Ajax的简化操作

    文章目录 1 Axios的补充 1 1 Axios Post请求 1 2 控制层 2 IDEA自动注入mapper异常说明 3 Ajax的简化操作 3 1 简化axios请求的前缀 3 2 关于promise对象的说明 3 3 Ajax 回
  • 让我们彻底了解Maven(二)--- Maven私服的搭建

    首先我们为什么需要搭建Maven私服 一切技术来源于解决需求 因为我们在实际开发中 当我们研发出来一个公共组件 为了能让别的业务开发组用上 则搭建一个远程仓库很有必要 写完公用组件后 直接发布到远程仓库 别人需要用到时 直接从远程仓库拉取即
  • 共享单车项目数据可视化+需求策略分析

    一 项目背景 自行车共享系统是一种租赁自行车的方式 其中获得会员资格 租赁和归还自行车的过程是通过遍布城市的站点网络自动完成的 使用这些系统 人们可以从一个地方租用自行车 并根据需要将其归还到另一个地方 共享单车是近年来流行起来的新兴产业
  • MOS管参数每一个参数详解-收藏版

    MOS管参数 在使用MOS管设计开关电源或者马达驱动的时候 一般都要考虑MOS的导通电阻 最大电压等 最大电流等因素 MOSFET是电压型驱动器材 驱动的进程即是栅极电压的建立进程 这是经过对栅源及栅漏之间的电容充电来完成的 下面将有此方面
  • PCB铜箔厚度单位盎司(OZ)的具体信息

    盎司 OZ 本身是一个重量单位 盎司和克 g 的换算公式为 1OZ 28 35g 在PCB行业中 1OZ意思是重量1OZ的铜均匀平铺在1平方英尺 FT2 的面积上所达到的厚度 它是用单位面积的重量来表示铜箔的平均厚度 用公式来表示即 1OZ
  • Java基础篇——面向对象编程

    活动地址 CSDN21天学习挑战赛 学习的最大理由是想摆脱平庸 早一天就多一份人生的精彩 迟一天就多一天平庸的困扰 各位小伙伴 如果您 想系统 深入学习某技术知识点 一个人摸索学习很难坚持 想组团高效学习 想写博客但无从下手 急需写作干货注
  • npm 切换源_nrm:npm包管理工具

    一 简介 nrm npm registry manager 是npm的镜像源管理工具 可以方便的更换npm的包源 可解决问题 1 更换国内镜像包源 如淘宝npm镜像 解决国内npm国外包慢的问题 2 更换某些内网独立包源 实现安装内网独立的
  • 「技术综述」人脸妆造迁移核心技术总结

    2020 07 10 12 02 36 美颜和美妆是人脸中很常见的技术 在网络直播以及平常的社交生活中都有很多应用场景 常见的如磨皮 美白 塑形等美颜技术我们已经比较熟悉了 而本文重点介绍的是人脸妆造迁移的核心技术及其相关资源 作者 编辑
  • Spring框架详解(二)

    一 IOC基本原理 1 什么是IOC容器 容器 容器是一种为特定组件的运行提供必要支持的一个软件环境 例如Tomcat就是一个Servlet容器 它可以为Servlet的运行提供运行环境 类似Docker这样的软件也是一个容器 它提供了必要
  • 由于找不到msvcp120.dll无法执行此代码的解决方法

    电脑系统中的msvcp120 dll文件如果丢失或者损坏 那么会有很多游戏跟软件就会出现无法打开运行的情况 msvcp120 dll是Windows系统动态连接组件中非常重要的文件 小编今天就把修复教程分享给大家 修复方法如下 首先是打开电
  • gradle 查看依赖类库版本_如何查找第三方库(Gradle引用)的依赖?

    答 三种方法查找 1 执行 Gradle Task androidDependencies 可以直接执行 gradle androidDependencies 执行结果将在控制台直接输出 可以在控制台直接查看 但是如果依赖很多的时候 控制无
  • BeanUtils.copyProperties()和JSONObject.parseObject()分别是哪种拷贝类型(浅拷贝 or 深拷贝)

    目录 一 结论 二 证明BeanUtils copyProperties 是浅拷贝 三 证明JSONObject parseObject 是深拷贝 四 总结 一 结论 BeanUtils copyProperties 浅拷贝 JSONObj
  • Python爬虫之Js逆向案例(17)- Scrapy JD版店铺详情|问答

    本案例是案例 16 的Scrapy版本 一次运行程序 同时获取内容 获取商店详情 商品问题 商品答案 效果如下图 一 Scrapy框架从安装到运行的过程 1 安装scrapy框架 控制台输入 pip3 install scrapy 2 验证
  • Nominatim/Installation

    原文地址 http wiki openstreetmap org wiki Nominatim Installation 本文介绍的是针对Nominatim 2 5 x版本的安装方法 软件下载地址 http www nominatim or
  • 双击计算机文档,电脑双击文件都是打开属性窗口怎么办

    电脑双击文件都是打开属性窗口怎么办 电脑双击文件都是打开属性窗口怎么办 不知道电脑怎么回事 双击文件后显示的都是属性窗口 该怎么办呢 下面小编分享电脑鼠标双击文件都是打开属性窗口的解决办法 欢迎大家前来阅读 电脑双击文件都是打开属性窗口怎么
  • 实现token

    每天一篇之token实现 现在web开发基本上都会涉及到token 至于为什么要用这些就不再解释 就默默发一个token的util 下面是代码 import com auth0 jwt JWT import com auth0 jwt JW
  • android EasyLink给wifi模块配网

    相关文章 博客 http blog csdn net u010924834 article details 49491349 本文使用的是庆科wifi模块 http developer mico io downloads 庆科的开发者地址
  • Windbg查找单例对象

    在程序的达到一定规模之后 就会用到比较多的管理类 这种管理类多采用单例模式 在问题排查过程中往往需要看下管理类里面的某些状态是否符合预期 但是崩溃的堆栈在当前局部变量中并 无该单例的相关引用 单例的实现上是将一个实例化对象保存在静态变量中
  • 网关和IP地址不在同一个网段下

    海外的客户报告了一个问题 设备设置的网关地址不在设备所在的网段下面 例如 IP 192 168 135 2 NetMask 255 255 255 0 GateWay 192 168 8 1 现在的问题来了 设备能不能PING通网关 这个问
  • 解决vue 路由传参后退参数丢失的问题

    文章目录 业务需求 遇到问题 解决方案 利用localStorage 使用keep alive 业务需求 从A页面传参跳转B页面 B页面传参跳转C页面 C页面可以返回B页面 遇到问题 当C页面返回B页面时 由于B页面参数丢失导致页面渲染失败