有没有办法在组路由里面重定向一个路由?

问题描述 投票:0回答:1

比如说我有这个路由配置。

pages

 - index.vue
 - admin
  - login.vue
  - register.vue

有没有办法让 /admin/login 作为管理员路由的索引?我想简单地重定向谁点击 /admin/admin/login.

vue.js nuxt.js vue-router
1个回答
1
投票

你可以使用 中间件/admin/index.vue,它有一个 redirect 方法中的 context 争论。

<script>
export default {
  middleware({ redirect }) {
    redirect(301, '/admin/login')
  }
}
</script>

1
投票

The vue-router 在路由定义中支持重定向。https:/router.vuejs.orgguideessentialsredirect-and-alias.html#redirect。

const routes = [
  /* ... */
  { path: '/admin', redirect: '/admin/login' },
  { path: '/admin/login', name: 'Login', component: LoginComponent },
  { path: '/admin/register', name: 'Register', component: RegisterComponent },
]

你也可以像这样定义嵌套路由。

const routes = [
  /* ... */
  {
    path: '/admin',
    redirect: '/admin/login',
    children: [
      {
        path: 'login',
        name: 'Login',
        component: LoginComponent
      },
      {
        path: 'register',
        name: 'Register',
        component: RegisterComponent
      }
    ]
  }
]
© www.soinside.com 2019 - 2024. All rights reserved.