$route和$router的区别?
可以理解为,一个是用来获取路由信息的,一个是用来操作路由的$routeroute是路由信息对象,里面主要包含路由的一些基本信息,包括name、meta、path、hash、query、params、fullPath、matched、redirectedFrom$routerrouter是VueRouter的实例,包含了一些路由的跳转方法,钩子函数等...
可以理解为,一个是用来获取路由信息的,一个是用来操作路由的
$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这个页面!
更多推荐
所有评论(0)