一、$route
$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
$router对象是全局路由ueRouter的实例,是router构造方法的实例。
路由实例常用方法:
$router.push('home')
页面跳转
// 字符串注意:push方法的跳转会向 history 栈添加一个新的记录,当我们点击浏览器的返回按钮时可以看到之前的页面。
this.$router.push('home')
// 对象
this.$router.push({ path: 'home' })
// 命名的路由
this.$router.push({ name: 'user', params: { userId: 123 }})
// 带查询参数,变成 /register?plan=123
this.$router.push({ path: 'register', query: { plan: '123' }})
$router.go(-1)
页面前进或者后退
this.$router.go(-1) // 后退
$router.replace('/')
//push方法会向 history 栈添加一个新的记录,而replace方法是替换当前的页面,注意:replace不会向 history 栈添加一个新的记录
// 一般使用replace来做404页面
this.$router.replace('/')
网友回复