Angular перенаправление ленивого загрузочного модуля после входа в систему - PullRequest
0 голосов
/ 10 февраля 2020

У меня возникла проблема, связанная с перенаправлением пользователя после входа в систему, у меня есть внутренние страницы в виде лениво загруженного модуля, который должен загружаться только при аутентификации пользователя, проблема после входа в систему, я не могу go на внутренние страницы.

здесь мы используем root маршруты

{
path: "", pathMatch: 'full', loadChildren: "./layout/layout.module#LayoutModule", canLoad: [AuthGuard] },
{ path: "login", redirectTo: "registration" },
{ path: "verify", redirectTo: "login" },
{ path: "registration", component: RegistrationComponent },
{ path: "registration/:index", component: RegistrationComponent }

, а вот мой модуль макета

 {
path: "",
component: LayoutComponent,
data: {
  title: "Dashborad",
  breadcrumb: "Dashboard"
},
canActivate: [AuthGuard],
children: [
  {
    path: "profile",
    component: ProfileComponent,
    canActivate: [...],
  },
  {
    path: "messages",
    component: MessagesComponent,
    canActivate: [...]
  }
],
canActivate: [AuthGuard]
}

, проверка подлинности проверяет токен и затем перейдите к пункту '' (router.navigate (['']), который может загрузить проверки для токена, чтобы он загружал модуль или нет

canLoad(route: Route) {
    if (!this.authService.isLoggedIn()) {
        return true;
    }
    this.router.navigate(['login']);
    return false;
}

, заранее спасибо

...