若依如何进行页面路由跳转,路由跳转时如何携带参数(超详细图文教程)

我们经常会有这样需求,当我们在一个页面时,想要跳转到另一个页面,但是跳转的同时还需要携带参数。那么这种情况在若依系统中该如何做呢,下面我们来说一下。

文章目录

    • 问题提出:
    • 一、创建目标页面的路由(也就是图2的路由)
    • 二、给按钮编写路由跳转方法,并携带参数
    • 三、在目标页面中拿到路由的参数并在页面进行展示
    • 四、注意事项 :

问题提出:

我这里有个学生成绩展示的表格(如图1),当我单击查看详情时我想要跳转到另一个页面进行学生成绩的展示(如图2)。
在这里插入图片描述

图1

在这里插入图片描述

图2

一、创建目标页面的路由(也就是图2的路由)

1.1 首先找到前端src/router文件夹下的index.js页面

在这里插入图片描述
1.2 进入后在公共路由下,仿照上面路由的写法,新建一个目标页面的路由

如下图所示,我们新建了一个路由,路由的完整路由为,/student/studentScore
我们在新建一个路由后,就只需要修改如下这几个框出来的地方即可。
在这里插入图片描述

  {
    path: '/recipeAdvice',
    component: Layout,
    hidden: true,
    redirect: 'recipeAdvice',
    children: [
      {
        path: 'recipeAdviceCard',
        component: () => import('@/views/soil/recipeAdvice/index'),
        name: 'recipeAdviceCard',
        meta: { title: '配方建议填写' }
      }
    ]
  }

了解内容:

  {
    path: '/recipeAdvice',
    component: Layout,
    hidden: true,
    redirect: 'recipeAdvice',
    children: [
      {
        path: 'recipeAdviceCard',
        component: () => import('@/views/soil/recipeAdvice/index'),
        name: 'recipeAdviceCard',
        meta: { title: '建议卡填写' }
      }
    ]
  }

对这个路由内容的解析:
这是一个 Vue.js 的路由配置,它定义了一个 URL 路径 /recipeAdvice 对应的组件和子路由。下面是具体的解析:

  1. path: '/recipeAdvice':定义了主路由的路径为 ‘/recipeAdvice’。

  2. component: Layout:表示该路由对应的主组件是 Layout

  3. hidden: true:表示该路由在侧边栏导航或者面包屑中不会被显示。

  4. redirect: 'recipeAdvice':表示访问 ‘/recipeAdvice’ 时会自动重定向到 ‘recipeAdvice’。

  5. children: [...]:定义了子路由的数组。

    • 子路由的 path: 'recipeAdviceCard':定义了子路由的路径为 ‘recipeAdviceCard’,所以完整的访问路径为 ‘/recipeAdvice/recipeAdviceCard’。

    • component: () => import('@/views/soil/recipeAdvice/index'):表示该子路由对应的组件是动态导入的,路径为 ‘@/views/soil/recipeAdvice/index’,这种方式可以实现路由组件的懒加载,即当路由被访问的时候才加载对应的组件,可以提高应用的启动速度。

    • name: 'recipeAdviceCard':定义了路由的名称,可以在 <router-link :to="{ name: 'recipeAdviceCard' }"> 这样的语法中使用。

    • meta: { title: '配方建议填写' }:定义了路由的元信息,这里设置了 title 属性为 ‘配方建议填写’,可以在导航守卫等地方获取并使用这个属性值。

总的来说,这段路由配置定义了一个 URL 路径为 ‘/recipeAdvice/recipeAdviceCard’ 的路由,当用户访问这个 URL 时,会加载并显示 ‘@/views/soil/recipeAdvice/index’ 这个组件,同时在面包屑或者侧边栏导航中不会显示这个路由。


二、给按钮编写路由跳转方法,并携带参数

跳转时使用this.$router.push来进行跳转,里面有path、query两个参数

path:就是刚刚配置的路由的完整路径,/student/studentScore 写到这里即可
query:就是要携带的参数,这里我传递了两个参数,一个id,一个成绩对象

注意:这里传递对象的话最好是转成json,否则的话那边接收就不太好处理,所以这里使用JSON.stringify方法将根据id查询出来的成绩对象给转成了json

这个是完整的查看详情按钮的写法:
在这里插入图片描述

this.$router.push({
          path:'/student/studentScore',
          query:{
            id:row.id,
            form:JSON.stringify(this.form)
          }
        })

三、在目标页面中拿到路由的参数并在页面进行展示

在目标页面中,我们直接在created中处理传递过来的路由参数,我们这里在拿参数值的时候使用this.$route.query.参数名(如图3.1所示)。
判断参数是否存在,如果存在就赋值给我们自己创建的对象,然后再将对象绑定到表单上即可,然后就完成了跳转自动回显(如图3.3所示)。

注意,这里query.获取的是传递时的参数名称(如图3.1所示,这是我们在路由跳转页面定义的参数名称)
在这里插入图片描述

图 3.1

在这里插入图片描述

图 3.2
    created() {
      //如果路由参数存在
      if (this.$route.query.id && this.$route.query.form) {
        this.studentId = this.$route.query.id;
        this.areaObj = JSON.parse(this.$route.query.form);
        console.log(this.studentId,"studentId-------------")
        console.log(this.areaObj,"areaObj-------------")
      }
      if (this.areaObj) {
        this.from2=this.areaObj;

      }
    },

在这里插入图片描述

图 3.3

四、注意事项 :

1、这里必须把配置写到公共路由的下面
2、如果路由没有成功跳转,检查component的路径是否配置正确以及调用时路径是否书写正确
3、如果上面都没有问题,可以重启前端项目试一下
4、传递对象参数时建议转成json,这样处理起来也比较方便

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/133512.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

到底是什么是Python?语言的核心是什么?

文章目录 前言一、为什么提出python编程的核心是什么&#xff1f;二、Python需要REPL&#xff1f;三、Python的哪些部分需要被视为“Python”&#xff1f;四、需要多少兼容性才能有用&#xff1f;Python技术资源分享1、Python所有方向的学习路线2、学习软件3、精品书籍4、入门学…

msvcp140.dll丢失的解决方法win7系统,全面详细解析

在Windows 7系统中&#xff0c;msvcp140.dll是一个非常重要的动态链接库文件&#xff0c;它负责许多应用程序和系统的正常运行。然而&#xff0c;由于各种原因&#xff0c;msvcp140.dll文件可能会丢失或损坏&#xff0c;导致系统出现错误提示、程序无法启动等问题。本文将详细介…

QT 布局管理综合实例

通过一个实例基本布局管理&#xff0c;演示QHBoxLayout类、QVBoxLayout类及QGridLayout类效果 本实例共用到四个布局管理器&#xff0c;分别是 LeftLayout、RightLayout、BottomLayout和MainLayout。 在源文件“dialog.cpp”具体代码如下&#xff1a; 运行效果&#xff1a; Se…

《Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》阅读笔记

论文标题 《Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》 Swin 这个词貌似来自后面的 Shifted WindowsShifted Windows&#xff1a;移动窗口Hierarchical&#xff1a;分层 作者 微软亚洲研究院出品 初读 摘要 提出 Swin Transformer 可以…

【Gradle-12】分析so文件和依赖的关系

1、前言 在包大小的占比中&#xff0c;so文件的占比往往是最高的&#xff0c;动辄几兆的大小多一个都会把包大小的指标打爆。 而在各厂商要求对手机CPU ARM架构进行分包适配的情况下&#xff0c;你更需要知道哪些依赖是没有适配v7a/v8a的&#xff0c;这将影响你的APP在应用市场…

基于SSM的智能物业管理网站的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Scrum Master 如何更好的支持PO?

在过去几年中&#xff0c;和许多Scrum Master交流时&#xff0c;我遇到一个令人担忧的模式。虽然我们有Scrum指南和其他补充资源&#xff0c;许多Scrum Master&#xff0c;特别是刚起步的Scrum Master们&#xff0c;还在日复一日的为如何帮助Product Owner而挣扎着。 以下是我…

C语言--有3个候选人,每个选民只能投票选一人,要求编一个统计选票的程序,先后输入被选人的名字,最后输出各人得票结果。

一.解体思路 设一个结构体数组&#xff0c;数组中包含3个元素; 每个元素中的信息应包括候选人的姓名和得票数;输入被选人的姓名&#xff0c;然后与数组元素中的“姓名”成员比较&#xff0c;如果相同&#xff0c;就给这个元素中的“得票数”成 员的值加1;输出所有元素的信息。 …

C++ RBTree 理论

目录 这个性质可以总结为 红黑树的最短最长路径 红黑树的路径范围 code 结构 搞颜色 类 插入 插入逻辑 新插入节点 思考&#xff1a;2. 检测新节点插入后&#xff0c;红黑树的性质是否造到破坏&#xff1f; 解决方法 变色 旋转变色 第三种情况&#xff0c;如果根…

聊天机器人框架Rasa资源整理

Rasa是一个主流的构建对话机器人的开源框架&#xff0c;它的优点是几乎覆盖了对话系统的所有功能&#xff0c;并且每个模块都有很好的可扩展性。参考文献收集了一些Rasa相关的开源项目和优质文章。 一.Rasa介绍 1.Rasa本地安装 直接Rasa本地安装一个不好的地方就是容易把本地…

使用电脑时提示msvcp140.dll丢失的5个解决方法

“计算机中msvcp140.dll丢失的5个解决方法”。在我们日常使用电脑的过程中&#xff0c;有时会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。那么&#xff0c;什么是msvcp140.dll呢&#xff1f;它的作用是什么&#xff1f;丢失它会对电脑产生什么影响呢&…

Docker快速入门

Docker是一个用来快速构建、运行和管理应用的工具。 Docker技术能够避免对服务器环境的依赖&#xff0c;减少复杂的部署流程&#xff0c;有了Docker以后&#xff0c;可以实现一键部署&#xff0c;项目的部署如丝般顺滑&#xff0c;大大减少了运维工作量。 即使你对Linux不熟…

36 Gateway网关 快速入门

3.Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式…

C++初阶--类与对象(3)(图解)

文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中&#xff0c;编译器会通过构造函数&#xff0c;对对象中各个成员给出一个适合的初始值&#xff0c;但这并不能称之为初始…

链表经典面试题之二

今天我们做一道环形链表的题目力扣141题https://leetcode.cn/problems/linked-list-cycle/ 这道题让我们分析链表中是否存环&#xff0c;存在的话返回true&#xff0c;不存在返回false。首先看到这道题我们要捋顺思路&#xff0c;怎么才能达到它要的效果&#xff1f;要找出是否…

Leetcode刷题详解—— 组合总和

1. 题目链接&#xff1a;39. 组合总和 2. 题目描述&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些…

【网络开发必看】聊聊 Tomcat

文章目录 1. 什么是 Tomcat2. 怎么安装 Tomcat3. Tomcat 的目录结构3.1 bin 目录3.2 conf 目录3.3 lib 目录3.4 log 目录3.5 webapps 目录 4. 启动 Tomcat总结 1. 什么是 Tomcat Tomcat 是一个 HTTP 服务器. 前面学习了 HTTP 协议, 知道了 HTTP 协议就是规定 HTTP 客户端和 HT…

论文笔记:AttnMove: History Enhanced Trajectory Recovery via AttentionalNetwork

AAAI 2021 1 intro 1.1 背景 将用户稀疏的轨迹数据恢复至细粒度的轨迹数据是十分重要的恢复稀疏轨迹数据至细粒度轨迹数据是非常困难的 已观察到的用户位置数据十分稀疏&#xff0c;使得未观察到的用户位置存在较多的不确定性真实数据中存在大量噪声&#xff0c;如何有效的挖…

ffmpeg安装教程(windows、Linux下python环境)

本文旨在向大家介绍ffmpeg在Windows和Linux系统中的安装方法。 目录 一、Windows 安装 ffmpeg1.1 官网下载 ffmpeg 运行程序1.2 环境配置1.3 测试 二、Linux 安装ffmpeg2.1 Linux中安装ffmpeg2.2 python环境安装 ffmpeg2.1.1 为什么要介绍这个2.1.1 成功安装示例 一、Windows …

OpenCV-Python小应用(九):通过灰度直方图检测图像异常点

OpenCV-Python小应用&#xff08;九&#xff09;&#xff1a;通过灰度直方图检测图像异常点 前言前提条件相关介绍实验环境通过灰度直方图检测图像异常点代码实现输出结果 参考 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff…