Могу ли я создать маршрут Vue с пустым компонентом? - PullRequest
0 голосов
/ 21 февраля 2019

Допустим, у меня есть следующие маршруты:

/admin/login
/admin
/admin/dashboard

Цель /admin - перенаправить пользователей на /admin/login или /admin/dashboard в зависимости от их аутентифицированного состояния.Так что у него нет шаблона / компонента.Как правильно достичь этого?

Нужно ли создавать компонент Admin.vue только для перенаправления пользователей?Или есть другой способ сделать это?

1 Ответ

0 голосов
/ 21 февраля 2019

Звучит так, будто вы хотите навигационную охрану.См. https://router.vuejs.org/guide/advanced/navigation-guards.html

Например

[{
  path: '/admin',
  beforeEnter (to, from, next) {
    if (userIsAuthenticated) {
      next({ name: 'admin-dashboard' }) // or next('/admin/dashboard')
    } else {
      next({ name: 'admin-login' })     // or next('/admin/login')
    }
  }
}, {
  path: '/admin/dashboard',
  name: 'admin-dashboard',
  component: ...
}, {
  path: '/admin/login',
  name: 'admin-login',
  component: ...
}]

Так что нет, вам не нужен компонент Admin для маршрута, который никогда ничего не визуализирует.


Возможно, вам также понадобится глобальная навигационная защита для защиты страниц, требующих аутентификации.

...