在 Vue Router 中,$route 和 $router 是两个不同的对象,它们各自承担着不同的角色。下面是它们的主要区别:
一、$route
- 定义
$route 是当前路由的信息对象,包含了与当前路由相关的状态和参数。它是一个只读对象。
2. 主要属性
params:动态路由参数,例如 /user/:id 中的 id。
query:查询参数,通常在 URL 中以 ? 开始,例如 /user?id=123。
path:当前路由的路径。
name:路由的名称(如果有定义)。
fullPath:当前路由的完整路径,包括查询参数。
-
使用场景
访问当前路由的状态和参数。
在组件中获取路由信息,例如动态加载数据。 -
示例
// 在组件中使用 $route
console.log(this.$route.params.id); // 获取动态路由参数
console.log(this.$route.query.q); // 获取查询参数
二、$router
- 定义
$