В вашей реализации есть серьезные проблемы с соглашениями об именах.Поэтому я решил создать свой собственный.В нем нет отложенной загрузки модулей, но это то, что вы уже знаете и можете достичь.
Возвращаясь к вашему требованию, вы можете реализовать каждый уровень как дочерний маршрут к предыдущему уровню.Поэтому каждый шаблон компонента, который является родительским, будет иметь тег router-outlet
.
Таким образом, ваша конфигурация routes
может выглядеть примерно так:
const routes: Routes = [
{ path: 'employees', component: EmployeesComponent, children: [
{ path: ':id', component: ReportsComponent, children: [
{ path: 'detail/:repId', component: DetailsComponent },
{ path: '**', component: PlaceholderComponent }
] },
{ path: '**', component: PlaceholderComponent }
] },
{ path: '**', redirectTo: '/employees', pathMatch: 'full' }
];
Обратите внимание, что и здесь я тожеиметь PlaceholderComponent
, которое будет отображаться, если элемент должен быть выбран из списка.
Я использовал сетки начальной загрузки для управления распределением контента в трех столбцах.Это все, что вам нужно.
Вот вам Рабочий образец StackBlitz для вашей ссылки.