Angular 2 - Почему все мои маршруты не перенаправлены?

[{
    path: 'menu',
    component: MenuComponent
  },
  {
    path: 'how',
    component: HowItWorksComponent
  },
  {
    path: '',
    pathMatch: 'prefix',
    redirectTo: 'menu'
  }]

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

2 ответа

Если вы хотите, чтобы ваш последний путь отлавливал то, чего нет в первых двух, то вам понадобится:

{
  path: '**',
  redirectTo: 'menu'
}

Как объясняется в угловых документах, ** это специальный маршрутный маршрут

Вы должны установить useAsDefault на /menu,

[{
   path: 'menu',
   component: MenuComponent,
   useAsDefault: true,
},
...
Другие вопросы по тегам