配置 vue_router 时, 很经常就用到重定向(redirect)功能
例如:
没登录重定向到登录页面(导航卫士拦截也是高效的登录检查方法)
index, home, house 重定向到首页等
重定向 redirect 可接受的值
字符串
字符串作为 path 传入, 相当于 { path: redirect }
{
...
redirect: "/assets/assetsIndex",
...
}
// 相当于
{
...
redirect: {
path: '/assets/assetsIndex' },
...
}
对象
先判断有没有 name
有 name
发起跳转处提供的 name, query, hash, params 会往下传
如果 redirect 也提供了这些属性则用 redirect 提供的往下传
redirect: {
name: 'assetsIndex',
params: {
id: 'redirect' },
}
// redirect 提供了 params, 目标组件可以收到该 params 数据
// redirect 没有提供, 目标组件收到发起跳转处的数据(发起跳转是有数据的话)
没有 name, 就找 path
计算后的 path 和 query, hash 会往下传
如果 redirect 也提供了这些属性则用 redirect 提供的往下传
redirect: {
path