Я хочу, чтобы моя домашняя страница загружала разные модули для разных ролей
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 в зависимости от маршрута
на самом деле я хочу добиться того, чтобы при входе в систему, скажем, на маршруте "Панель инструментов" или на "" Модуль студента загружается, если роль студента регистрируется на маршруте«Панель инструментов» или «» «Модуль тренера загружается, если роль тренера вошла на маршрут« Панель инструментов », или« »Модуль администратора загружается, если роль администратора регистрируется