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

Vue3 中 Route 与 Router 的区别

在 Vue Router 中,Route 和 Router 是两个相关但完全不同的概念:

1、Router (路由实例)

  • 定义Router 是路由器的实例,负责整个应用的路由管理

  • 功能

    • 管理路由映射表(路由配置)

    • 提供编程式导航方法(如 pushreplacego

    • 监听 URL 变化

    • 匹配路由组件

  • 获取方式

    import { useRouter } from 'vue-router'
    const router = useRouter()
  • 常用方法

    • router.push('/path')   // 跳转到新路由(添加历史记录)

    • router.replace('/path'// 替换当前路由(不添加历史记录)

    • router.go(-1)  // 后退一步

    • router.back()  //后退一步

    • router.forward()  //前进一步

2、Route (路由)

  • 定义Route 是当前激活的路由对象,表示当前的路由状态

  • 功能

    • 包含当前路由的信息

    • 提供访问当前路由参数、查询参数、hash等

  • 获取方式

    import { useRoute } from 'vue-router' const route = useRoute()
  • 常用属性

    • route.path  //当前路由路径(如 "/path/1002")

    • route.params  //动态路由参数(如 { name: 'zhangsan' })

    • route.query - URL 查询参数如 ?id=1002=> { id: '1002' })

    • route.hash - URL 的 hash 部分(如 #home)

    • route.name - 路由名称(如果有定义)

    • route.matched - 当前匹配的路由记录数组

3、简单对比

特性RouterRoute
类型路由管理器(主动控制导航)当前路由信息(被动反映状态)
用途控制路由跳转获取当前路由信息,参数、查询、路径等
修改 URL可以(通过 push/replace 只读
响应式非响应式对象响应式对象(自动更新)
获取方式useRouter() 或 this.$routeruseRoute() 或 this.$route
典型使用编程式导航访问路由参数、查询参数等

4、示例

import { useRouter, useRoute } from 'vue-router'export default {setup() {const router = useRouter() // 路由器实例const route = useRoute()   // 当前路由对象function navigate() {// 使用 router 进行导航router.push({ name: 'user', params: { id: 123 } })}// 使用 route 访问当前路由信息const userId = route.params.idreturn { navigate, userId }}
}

5、总结

Router 是"做"路由跳转的,而 Route 是"读"当前路由信息的。

相关文章:

  • 信息系统项目管理师考前练习3
  • 诊断仪进行CAN采样点测试的原理
  • 《棒球百科知识》世界棒球十强国家是如何发展·棒球1号位
  • 学习日记-day12-5.21
  • 元宇宙数字人设计大赛:往届获奖作品赏析
  • 第18天-NumPy + Pandas + Matplotlib多维度直方图
  • 数学实验(Matlab绘图基础)
  • 学习 Pinia 状态管理【Plan - May - Week 2】
  • 网页表格转换为markdown
  • 【Element UI排序】JavaScript 的表格排序sortable=“custom“和 @sort-change
  • nlohmann json:检查类型并取出数据
  • 深入解析C++静态成员变量与函数
  • 网络安全之身份验证绕过漏洞
  • 前沿技术:如何从多模态文件中自动提取有效信息?
  • 学习路之uniapp--unipush2.0推送功能--给自己发通知
  • PostGIS实现栅格数据导出PNG应用实践【ST_AsPNG 】
  • 【Redis8】最新安装版与手动运行版
  • springboot3+vue3融合项目实战-大事件文章管理系统-更新文章分类和增加文章分类优化-分组校验
  • FlashAttention:传统自注意力( Self-Attention)优化加速实现
  • BEVDet
  • 响应式网站广州网站建设/网盘搜索引擎入口
  • 如何在百度搜索dw做的网站/百度浏览器打开
  • wordpress文章点开是个新网页/宁波seo推荐推广平台
  • 如何做品牌网站设计/seo搜索引擎优化工程师招聘
  • 克拉玛依住房和建设局网站/百度助手app免费下载
  • 站酷官网/百度平台电话多少