持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情
🎈大家好,我是
橙橙子,新人初来乍到,请多多关照~📝小小的前端一枚,分享一些日常的学习和项目实战总结~
😜如果本文对你有帮助的话,帮忙点点赞呀!ღ( ´・ᴗ・` )比心~
区别
$router是用来操作路由的, $route是用来获取路由信息的。
this.$router
$router是VueRouter的一个实例,包含了所有的路由,包括路由的跳转方法,钩子函数等,也包含一些子对象(例如history)
通过 this.$router 访问路由器,相当于获取了整个路由文件,在$router.option.routes中,查看到当前项目的整个路由结构
// 导航守卫
router.beforeEach((to, from, next) => {
/* 必须调用 `next` */
})
router.beforeResolve((to, from, next) => {
/* 必须调用 `next` */
})
router.afterEach((to, from) => {})
// 动态导航到新路由
router.push
router.replace
router.go
router.back
router.forward
this.$route
route对象,是一个局部的对象。 这个属性是只读的,里面的属性是 immutable (不可变) 的,但是可以通过 watch (监测变化) 它。
通过 this.$route 访问的是当前路由,获取和当前路由有关的信息
fullPath: "" // 当前路由完整路径,包含查询参数和 hash 的完整路径
hash: "" // 当前路由的 hash 值 (锚点)
matched: [] // 包含当前路由的所有嵌套路径片段的路由记录
meta: {} // 路由文件中自赋值的meta信息
name: "" // 路由名称
params: {} // 一个 key/value 对象,包含了动态片段和全匹配片段就是一个空对象。
path: "" // 字符串,对应当前路由的路径
query: {} // 一个 key/value 对象,表示 URL 查询参数。跟随在路径后用'?'带的参数
-
1.
$route.path字符串,等于当前路由对象的路径,会被解析为绝对路径,如 “/home/news” 。 -
2.
$route.params对象,包含路由中的动态片段和全匹配片段的键值对。 -
3.
route.query包含路由中查询参数的键值对。会得到route.query 对象,包含路由中查询参数的键值对。例如,对于 /home/news/detail/01?favorite=yes,会得到route.query对象,包含路由中查询参数的键值对。例如,对于/home/news/detail/01?favorite=yes,会得到route.query.favorite == 'yes'。 -
4.
$route.router路由规则所属的路由器(以及其所属的组件)。 -
5.
$route.matched数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。 -
6.
$route.name当前路径的名字,如果没有使用具名路径,则名字为空。