маршрутизатор снаружи canActivate: [AuthGuard] не работает - PullRequest
0 голосов
/ 04 июля 2018

У меня проблема с маршрутизацией.

Я пытался использовать этот код:

const routes: Routes = [
  {
    path: 'home', component: HomeComponent, canActivate: [AuthGuard], children: [
      { path: 'events', component: EventsComponent },
      { path: 'package', component: PackageComponent },
      { path: 'settings', component: SettingsComponent }
    ]
  },
  { path: 'login', component: LoginComponent },
  { path: '**', redirectTo: 'home' },
  { path: "register", component: RegisterComponent },
  { path: "usersforgetpassword", component: ResetPassComponent }
];

enter image description here

Не работает навигация, забыли пароль (ResetPassComponent) и новую учетную запись (RegisterComponent).

HTML-код:

<StackLayout>
        <Label [nsRouterLink]="['/usersforgetpassword']" class="text-center footnote">
            <FormattedString>
                <Span text="Forgot password?  "></Span>
            </FormattedString>
        </Label>
    </StackLayout>
    <StackLayout>
        <Label [nsRouterLink]="['/register']" class="text-center footnote">
            <FormattedString>
                <Span text="New Account "></Span>
            </FormattedString>
        </Label>
    </StackLayout>

Пожалуйста, можете ли вы спросить меня, в чем проблема в моем роутере? Я не могу понять.

Thnx

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Маршрут с подстановочными знаками всегда должен быть в конце, иначе маршруты ниже, которые не будут работать, так как соответствуют всем возможным строкам.

См .: https://angular.io/guide/router#configuration

0 голосов
/ 04 июля 2018

Пожалуйста, разместите эти

{ path: "register", component: RegisterComponent },
  { path: "usersforgetpassword", component: ResetPassComponent }

До

 { path: '**', redirectTo: 'home' } 
...