在Vue.js中,$route
和$router
是两个不同的对象,它们分别用于获取当前路由信息和进行路由导航控制。以下是它们之间的区别:
-
$route
:$route
是一个代表当前路由的对象,可以访问当前路由的各种属性。- 通过
$route.path
可以获取当前路由的路径信息,如/home
或/about
。 - 通过
$route.params
可以获取当前路由的动态参数,如/user/:id
中的id
参数。 - 通过
$route.query
可以获取当前路由的查询参数,如/search?keyword=vue
中的keyword
参数。 $route
提供了其他属性,如$route.name
表示当前路由的名称,$route.meta
表示当前路由的元信息等。
-
$router
:$router
是一个用来进行路由导航控制的对象,提供了一系列方法来实现页面跳转和导航操作。- 通过
$router.push()
方法可以跳转到新的路由,可以传入一个字符串路径或一个包含路径、查询参数等信息的对象。 - 通过
$router.replace()
方法可以替换当前路由,类似于执行跳转但不会在浏览器的历史记录中留下记录。 - 通过
$router.go()
方法可以在浏览器的历史记录中前进或后退指定的步数。 $router
还提供了其他方法,如$router.back()
可以返回上一个路由,$router.forward()
可以前往下一个路由等。
总结:$route
用于获取当前路由信息,而$router
用于进行路由导航控制。通过这两个对象的配合,可以实现完整的路由管理和页面跳转功能。