Привет, я сейчас создаю приложение Angular и у меня есть 2 модуля: GuessModule и AdminModule; один из этого модуля всегда должен быть загружен в GuessModule, а другой - с защитой canLoad.
// app-routing.module.ts
const routes: Routes = [
{
path: '',
loadChildren: () => import('./modules/guest/guest.module').then(m => m.GuestModule),
},
{
path: 'admin',
loadChildren: () => import('./modules/admin/admin.module').then(m => m.AdminModule),
canLoad: [
AuthGuard
],
},
{
path: '**',
redirectTo: '/'
}
];
// app.component.html
<router-outlet></router-outlet>
У меня есть CoreModule с AuthGuard:
/// CoreModule forRoot called in app.module imports CoreModule.forRoot()
static forRoot(): ModuleWithProviders {
return {
ngModule: CoreModule,
providers: [
AuthGuard
],
} as ModuleWithProviders;
}
В моем Auth Guard У меня есть это:
canLoad(
route: Route,
segments: UrlSegment[]): Observable<boolean> | Promise<boolean> | boolean {
return false; // to test
}
Но когда я go на маршруте "/" я загрузил свои 2 модуля, но должен быть загружен только GuessModule, и я не знаю, почему я загружаю оба; CanLoad не запускается, но AdminModule загружен.
Я что-то упустил?
Спасибо.