可以理解为,一个是用来获取路由信息的,一个是用来操作路由的

$route

route是路由信息对象,里面主要包含路由的一些基本信息,包括name、meta、path、hash、query、params、fullPath、matched、redirectedFrom

$router

router是VueRouter的实例,包含了一些路由的跳转方法,钩子函数等

例:

一:
$route是获取路由信息的一个对象,废话!说具体点!
这个东西它既然是获取路由信息滴,那么什么是路由信息,怎么获取,又为什么要获取呢?
举个栗子:
在实际项目中,我们经常会用到路由信息,比如:

$route.path
字符串,等于当前路由对象的路径,会被解析为绝对路径,如 “/shops/goods” 。

$route.params
对象,包含路由中的动态片段和全匹配片段的键值对 。

$route.query

对象,包含路由中查询参数的键值对。例如,对于 /home/news/detail/01?favorite=yes ,会得到$route.query.favorite == ‘yes’ 。

$route.router
路由规则所属的路由器(以及其所属的组件)。

$route.matched
数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。

$route.name
当前路径的名字,如果没有使用具名路径,则名字为空。

所以我们可以通过$route.来获取到路由里的这些信息为自己所用。这就是 $route!

二:
$router 的作用是进行路由跳转的!就像jQuery里的window.location一样,起到的是导航的作用。
举个栗子:

$router.go(-1),那么它就会从当前页面跳转到-1这个页面!
 

Logo

前往低代码交流专区

更多推荐