Маршрутизатор снаружи canActivate: [AuthGuard] не работает
У меня проблема с маршрутизацией.
Я пытался использовать этот код:
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 }
];
Не работает навигация, забыли пароль (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 ответа
Решение
Пожалуйста, разместите эти
{ path: "register", component: RegisterComponent },
{ path: "usersforgetpassword", component: ResetPassComponent }
До
{ path: '**', redirectTo: 'home' }
Маршрут с подстановочными знаками всегда должен быть в конце, иначе маршруты ниже этого не будут работать, поскольку соответствуют всем возможным строкам.