重定向也是通过routes配置来完成的,下面例子是从/a重定向到/b:
const router = new VueRouter({
routes: [
{path: '/a', redirect: '/b'}
]
})
重定向的目标也可以是一个命名的路由:
const router = new VueRouter({
routes: [
{path: '/a', redirect: {name: 'foo'}}
]
})
甚至是一个方法,动态返回重定向目标:
const router = new VueRouter({
routes: [
{path: '/a', redirect: to => {
//方法接收目标路由作为参数
//return 重定向的字符串路径/路径对象
}}
]
})
注意导航守卫并没有应用到跳转路由上,而仅仅应用在其目标上。
别名
“重定向”的意思是,当用户访问/a时,URL会被替换成/b,然后匹配路由为/b,那么“别名”又是什么呢?
/a的别名是/b,当用户访问/b时,URL会保持为/b,但是路由匹配则为/a,就像用户访问/a一样。
const router = new VueRouter({
routes: [
{ path: '/a', component: A, alias: '/b' }
]
})