Маршрутизатор Angular 5 не соответствует при добавлении параметров запроса - PullRequest
0 голосов
/ 17 сентября 2018
I have Angular 5 routes config like this: 
const loginRoutes: Routes = [
  {
    path: '',
    component: RegistationComponent,
    children: [
      { path: '', redirectTo: 'sign-in', pathMatch: 'full' },
      { path: 'sign-in', component: SigninComponent },
      { path: 'sign-up', pathMatch: 'prefix', component: SignupComponent },
      { path: 'twofactor', component: TwofactorComponent },
    ]
  }
];

Хорошо работает, если я просматриваю точный маршрут, но когда я добавил параметры запроса, он говорит:

http://localhost:4200/login/reg/sign-up?inviteCode=b8f496ca68a37c174459

будет перенаправлен обратно на sign-in маршрут. Как мне это исправить?

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

определите это так

  { path: 'sign-in/:invitecode', component: SigninComponent },
0 голосов
/ 17 сентября 2018

Я обнаружил проблему не из-за конфигурации маршрутизатора, а из-за того, что служба auth guard выполняет перенаправление.

0 голосов
/ 17 сентября 2018

Попробуйте изменить маршрут перенаправления на что-то вроде этого:

const loginRoutes: Routes = [
  {
    path: '',
    component: RegistationComponent,
    children: [
      { path: 'sign-in', component: SigninComponent },
      { path: 'sign-up', pathMatch: 'prefix', component: SignupComponent },
      { path: 'twofactor', component: TwofactorComponent },
      { path: '', redirectTo: 'sign-in', pathMatch: 'full' },
      { path: '**', redirectTo: 'sign-in', pathMatch: 'full' }
    ]
  }
];

ОБНОВЛЕНИЕ: добавлено path:'' маршрут

...