CanLoad не запускается, а модуль все еще загружается? - PullRequest
0 голосов
/ 06 апреля 2020

Привет, я сейчас создаю приложение 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 загружен.

Я что-то упустил?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...