热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue路由跳转与参数传递详解

本文详细介绍了Vue路由中的跳转方法、参数传递(包括query和params)以及如何在目标组件中接收这些参数。

在 Vue.js 中,路由是实现单页面应用(SPA)的关键组件之一。本文将探讨如何通过 vue-router 实现页面之间的跳转,并详细介绍如何在跳转过程中传递参数,以及如何在目标组件中接收这些参数。

一、路由跳转

1. 使用 router-link 进行跳转

router-link 是 Vue Router 提供的一个内置组件,用于替代 HTML 的 a 标签来创建导航链接。它可以接受一个字符串或一个对象作为 to 属性的值。

  • 字符串形式:直接指定目标 URL 地址。
    展示用户
  • 对象形式:可以包含路径、名称和其他参数。
    用户管理

注意:当使用对象形式时,可以通过 v-bind 简写为 : 来绑定动态值。

2. 编程式路由跳转

除了使用 router-link,还可以通过编程的方式进行路由跳转,主要通过 $router.push() 方法实现。

this.$router.push({ path: '/home', query: { id: '1' } });

this.$router.push({ name: 'home', query: { id: '1' } });

this.$router.push({ name: 'home', params: { id: '1' } });

二、路由传参

Vue Router 支持两种主要的传参方式:query 和 params。

1. 使用 query 传参

query 参数会附加在 URL 后面,类似于 GET 请求。这种方式适合传递非敏感数据,因为参数会显示在浏览器的地址栏中。

query传参示例

2. 使用 params 传参

params 参数不会显示在 URL 中,类似于 POST 请求。这种方式适合传递敏感数据,但需要注意的是,如果页面被刷新,params 参数将会丢失。

params传参示例

query 与 params 的区别

  • params 传参必须使用 name 而不是 path
  • query 传参既可以使用 name 也可以使用 path
  • params 传参不会显示在 URL 中,刷新页面后会丢失;
  • query 传参会显示在 URL 中,适合传递非敏感数据。

三、参数的接收

在目标组件中接收参数,可以通过 $route 对象访问。

1. 接收 query 参数

userId = this.$route.query.id; // 接受 query 里的参数并赋值给 userId

2. 接收 params 参数

userId = this.$route.params.id; // 接受 params 里的参数并赋值给 userId

此外,还可以传递复杂对象作为参数:

student = { id: 1, name: 'wj' };

查询

student2 = this.$route.params; // 接受 params 里的参数并赋值给 student2


推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文介绍了如何利用npm脚本和concurrently工具,实现本地开发环境中多个监听服务的同时启动,包括HTTP服务、自动刷新、Sass和ES6支持。 ... [详细]
  • 本文探讨了在 Vue 2.0 项目中使用 Axios 获取数据时可能出现的错误,并提供详细的解决方案和最佳实践。 ... [详细]
  • 黑马头条项目:Vue 文章详情模块与交互功能实现
    本文详细介绍了如何在黑马头条项目中配置文章详情模块的路由、获取和展示文章详情数据,以及实现关注、点赞、不喜欢和评论功能。通过这些步骤,您可以全面了解如何开发一个完整的前端文章详情页面。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 探讨如何优化 npm 构建过程,提升开发效率,减少构建时间,并介绍自动化部署的最佳实践。 ... [详细]
author-avatar
逝去成回忆2502920253
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有