Я хочу, чтобы на моей домашней странице загружались разные модули для разных ролей
const routes: Routes = [
{
path: 'login',
component: LoginComponent,
},
{ path: '', loadChildren: './dashboard/dashboard.module#DashboardModule', canLoad: [AuthGuard], canActivate: [AuthGuard], },
{
path: '',
loadChildren: './dashboard/dashboard.module#DashboardModule',
canActivate: [true]
},
]
AuthGuard здесь
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<boolean> | Promise<boolean> | boolean {
if (localStorage.getItem('ISTRAINER') === Role.Trainer
&& next.routeConfig.loadChildren === './dashboard/dashboard.module#DashboardModule') {
return true;
}
return false;
}
canLoad(route: Route): boolean {
return false;
}
когда canLoad: [AuthGuard] возвращает false, маршрутизатор не проверяет следующий маршрут
или есть способ изменить loadChildren в зависимости от маршрута
на самом деле я хочу добиться того, чтобы при входе в систему, скажем, на маршруте «Панель мониторинга» или на «» загружается модуль «Студент», если роль студента входит в систему на маршруте «Панель управления» или загружается модуль преподавателя, если роль преподавателя выполняется на маршруте «Панель управления» или on "" Модуль администратора загружается, если роль администратора вошла в систему