],
}
这样会自动将父路由的路径,拼接在子路由前,最终结果为:/about/us。
当访问 /about下的其他路径时,并不会渲染出来任何东西,如果想要渲染点什么,可以提供一个空路由空路由:
{
path: '/about',
children: [
{
path: '',
component: () => import('./views/SomeComp'),
},
],
}
重定向重定向
重定向也是通过 routes 配置来完成,通过 redirect 属性,下面例子是从根路径/ 重定向到 /home
const router = new VueRouter({
routes: [
{
path: '/',
redirect: "/home"
},
{
path: '/home',
name: 'Home',
component: Home,
},
] })
重定向的目标也可以是一个命名的路由:
const router = new VueRouter({
routes: [
{ path: '/', redirect: { name: 'Home' }}
] })
甚至是一个方法,动态返回重定向目标:
const router = new VueRouter({
routes: [
{ path: '/', redirect: to => {
return {
path:"/home"
}
}}
] })
注意注意:方法接收目标路由作为参数,return 重定向的字符串路径/路径对象
别名别名
“重定向” 的意思是,当用户访问根/ 时,URL 将会被替换成将会被替换成 /home,匹配路由为 /home,
那么“别名”又是什么呢?
/home 的别名是 /,意味着,当用户访问 / 时,URL 会保持为会保持为 /,但是路由匹配则为 /home,就像用户访问 /home 一样。
上面对应的路由配置为:
const router = new VueRouter({
routes: [
{ path: '/home', component: Home, alias: '/' }
] })
编程式的导航编程式的导航
通过在 Vue 根实例的 router 配置传入 router 实例,$router、 $route 两个属性会被注入到每个子组件。
$router
路由实例对象。除了使用 创建 a 标签来定义导航链接,我们还可以借助 router 的实例
方法,通过编写代码来实现。
$router.push