当前位置: 首页 > article >正文

Vue.js教学第十二章:Vue Router实战指南(二)

Vue Router(二):深入剖析 Vue Router 高级特性

在前端开发领域,Vue.js 框架凭借其简洁、灵活和高效的特点,得到了广泛应用。而 Vue Router 作为 Vue.js 的官方路由管理器,为构建单页面应用(SPA)提供了强大的支持。本文将深入探究 Vue Router 的高级特性,包括路由的动态参数和查询参数的使用方法、路由的嵌套结构以及导航守卫(全局守卫、路由独享守卫、组件内守卫)的应用场景和配置方式,旨在帮助学习者掌握复杂的路由管理需求。


一、路由的动态参数和查询参数

(一)动态参数

动态参数用于在路由中传递可变的参数值,使页面能够根据不同参数展示对应的内容。定义动态路由时,在路径中使用冒号 : 后跟参数名称来指定动态段。

  • 定义动态路由

const routes = [{ path: '/user/:id', component: User }
]

在这种情况下,:id 就是一个动态参数。当访问 /user/123/user/456 等路径时,会匹配到该路由,并将 id 参数传递给对应的组件。

  • 在组件中访问动态参数

在组件内部,可以通过 $route.params 对象来获取动态参数的值。例如,在 User 组件中:

export default {name: 'User',mounted() {console.log(this.$route.params.id); // 输出动态参数 id 的值}
}

(二)查询参数

查询参数是在 URL 的末尾以 ?key=value 形式附加的参数,用于传递额外的信息。

  • 定义包含查询参数的路由

const routes = [{ path: '/search', component: Search }
]

访问 /search?keyword=vue&age=20 这样的 URL 时,就可以获取查询参数。

  • 在组件中访问查询参数

在组件中通过 $route.query 对象来获取查询参数的值。例如,在 Search 组件中:

export default {name: 'Search',mounted() {console.log(this.$route.query.keyword); // 输出 'vue'console.log(this.$route.query.age); // 输出 '20'}
}

(三)动态参数与查询参数的对比

对比项动态参数查询参数
定义方式在路径中使用 :参数名在 URL 末尾以 ?key=value 形式附加
获取方式$route.params$
http://www.lryc.cn/news/2384443.html

相关文章:

  • 【前端开发】Uniapp日期时间选择器:实现分钟动态步长设置
  • 跑通Multi-Agent-Constrained-Policy-Optimisation
  • Visual Studio已更新为17.14+集成deepseek实现高效编程
  • go 基础语法 【教程 go tour】
  • 养生指南:五维打造健康新方式
  • 网络爬虫学习之httpx的使用
  • 无人机桥梁检测效率问题-高精度3D建模及航线规划
  • 想免费使用 AWS 云服务器?注册、验证及开通全攻略
  • 以太联 - Intellinet 闪耀台北 SecuTech 国际安全科技应用博览会
  • Pandas:数据分析中的缺失值检测、加载、设置、可视化与处理
  • 【Linux系列】EVS 与 VBD 的对比
  • 56 在standby待机打通uart调试的方法
  • OceanBase 共享存储:云原生数据库的存储
  • 安卓新建项目时,Gradle下载慢下载如何用国内的镜像
  • 讯联文库开发日志(五)登录拦截校验
  • PCB设计教程【入门篇】——电路分析基础-读懂原理图
  • C语言数据结构
  • 湖北理元理律师事务所债务优化方案:让还款与生活平衡成为可能
  • Java对象内存分配优化教学
  • 精度再升级,可到微米!单位自动换算平米和米
  • 【学习笔记】Sophus (Python) 使用文档
  • 常见算法题目2 - 给定一个字符串,找出其中最长的不重复子串
  • 如何配置jmeter做分布式压测
  • Django 中的 ORM 基础语法
  • C#对象初始化语句:优雅创建对象的黑科技
  • 【计算机网络】TCP如何保障传输可靠性_笔记
  • Robust Kernel Estimation with Outliers Handling for Image Deblurring论文阅读
  • Android Studio 开发环境兼容性检索(AGP / Gradle / Kotlin / JDK)
  • html主题切换小demo
  • AI架构职责分配——支持AI模块的职责边界设计