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

Vue 3 中 routes 与 route 的详解

1. 核心区别

特性routesroute
类型数组 (Array)对象 (Object)
作用定义路由规则 (路由表)访问当前激活的路由信息
使用场景路由配置 (router/index.js)组件内部访问当前路由
响应式否 (静态配置)是 (可监听变化)
数据内容路径、组件、子路由等配置信息路径、参数、查询字符串等运行时信息

2. API 详解

routes (路由配置)

// router/index.js
import { createRouter, createWebHistory } from 'vue-router'const routes = [  //  👈 定义路由表数组{path: '/user/:id',name: 'user-profile',component: () => import('./views/User.vue'),props: true, // 将 params 转为 propschildren: [   // 嵌套路由{ path: 'posts', component: () => import('./components/Posts.vue') }]},{ path: '/about', redirect: { name: 'home' } // 重定向}
]const router = createRouter({history: createWebHistory(),routes //  👈 传入路由配置
})

route (当前路由对象)

<!-- 组件内使用 -->
<script setup>
import { useRoute } from 'vue-router'const route = useRoute() //  👈 获取当前路由对象// 监听路由变化
watch(() => route.params.id,(newId) => {console.log('ID changed to:', newId)}
)
</script><template><div><!-- 访问路由属性 --><p>当前路径: {{ route.path }}</p><p>用户ID: {{ route.params.id }}</p><p>查询参数: {{ route.query.page }}</p></div>
</template>

route 关键属性

属性说明示例
path当前路径 (不含查询参数)/user/123
fullPath完整路径 (含查询参数和 hash)/user/123?page=2#section
params动态路径参数对象{ id: '123' }
queryURL 查询参数对象{ page: '2' }
hashURL 的 hash 部分#section
name路由名称 (如有定义)'user-profile'
matched匹配的路由记录数组嵌套路由层级信息
meta路由元信息{ requiresAuth: true }

3. 使用场景对比

操作routes 的用法route 的用法
获取路由参数❌ 无法直接获取✅ route.params.id
定义新路由✅ router.addRoute({ path: ... })❌ 只读属性
访问查询字符串❌ 配置阶段无此信息✅ route.query.page
路由重定向✅ { path: '/old', redirect: '/' }❌ 只读
监听路由变化❌ 静态配置✅ watch(() => route.path, ...)

4. 总结图表

关键结论

  1. routes 路由配置表,在创建路由实例时定义,描述所有可能的路径与组件的映射关系。

  2. route 当前路由状态对象,在组件内通过 useRoute() 获取,包含 URL 解析后的实时信息。

  3. 动态路由参数(如 :id)通过 route.params 访问,查询参数通过 route.query 访问。

  4. 使用 watch 监听 route 对象属性可实现基于路由的逻辑响应。

http://www.dtcms.com/a/406848.html

相关文章:

  • 哪有做网站推广wordpress 在线编辑器
  • leetcode_138 随机链表的复制
  • Kendo UI for jQuery 2025 Q3新版亮点 - AI 智能网格与全新表单体验
  • 职业规划之软件测试工作五年后,做技术还是做管理?
  • 【一文了解】C#的StringSplitOptions枚举
  • 大连仟亿科技网站建设公司 概况网站搜索 代码
  • 高端网站设计中的微交互:细节如何决定用户体验
  • 香港科技大学提出融合神经网络框架,高效预测蛋白质序列的多金属结合位点
  • 9.9奶茶项目:matlab+FPGA的cordic算法计算±π之间的sin和cos值
  • 越野组(遇到的问题)
  • 29.9元汉堡项目:FPGA多普勒频移解调功能设计开发
  • MyBatis 大于等于、小于等于
  • 南通自助模板建站php做网站好吗
  • [Windows] PDF 专业压缩工具 v3.6
  • 从 0 到 1Flink DataStream API 入门与上手实战
  • 做网站设计电脑买什么高端本好营销企业有哪些
  • 系统架构设计师备考第34天——软件架构风格
  • postman使用总结
  • 做网站 怎么连到数据库怎么做存储网站
  • Java 后端面试技术文档(参考)
  • 分享智能跳绳解决方案
  • 毕业设计的网站app开发公司介绍
  • WebSocket实时通信不卡顿:cpolar内网穿透实验室第503个成功挑战
  • PyTorch 数据处理工具箱
  • C++项目:仿muduo库高并发服务器-------时间轮定时器
  • 边玩边学,13个Python小游戏(含源码)
  • 有了域名怎样做淘客网站中国铁建统一企业门户
  • 大连网站排名网络推广公司一个很好的个人网站开发
  • Windows文件快速检索工具:基于PyQt5的高效实现
  • C++Primerplus 编程练习 第十三章