Угловой 6: если «Не удается сопоставить ни один маршрут» перемещен в другой компонент - PullRequest
1 голос
/ 07 мая 2019

У меня есть конфигурация маршрута, как показано ниже:

const routes: Routes = [
  { path: '', redirectTo: '/login', pathMatch: 'full' },
  { path: 'login', component: LoginComponent },
  { path: 'dashboard', component: DashboardComponent }
];

Теперь, если кто-то хочет получить доступ к xyz url как http://localhost:4200/xyz, тогда я получаю эту ошибку

Uncaught (в обещании): Ошибка: невозможно сопоставить ни один маршрут.Сегмент URL: 'xyz'

Но я хочу перенаправить на страницу входа в вышеупомянутом случае.

Есть идеи, как мне этого добиться?

Ответы [ 2 ]

2 голосов
/ 07 мая 2019

Просто добавьте универсальный путь

const routes: Routes = [
  { path: 'login', component: LoginComponent },
  { path: 'dashboard', component: DashboardComponent },
  { path: '**', redirectTo: '/login' }
];
1 голос
/ 07 мая 2019

Вы должны добавить подстановочный маршрут **, чтобы перехватить любой неожиданный / несопоставленный / незарегистрированный URL и добавить перенаправление к /login.

const routes: Routes = [
  { path: 'login', component: LoginComponent },
  { path: 'dashboard', component: DashboardComponent },
  { path: '', redirectTo: '/login', pathMatch: 'full' },
  { path: '**', redirectTo: '/login' }
];

ПРИМЕЧАНИЕ : путь ** на последнем маршруте является подстановочным знаком. Маршрутизатор выберет этот маршрут, если запрошенный URL не совпадает ни с одним из путей для маршрутов, определенных ранее в конфигурации. Убедитесь, что это последняя запись в списке маршрутов!

...