У меня есть компонент корневого приложения с маршрутизатором-выходом, и маршруты загружаются из маршрутов домашнего модуля, который использует ленивую загрузку с loadchildren в своих дочерних маршрутах. В домашнем компоненте есть выход-маршрутизатор, а также есть выходы-маршрутизаторы во всех дочерних модулях дома, которые загружаются лениво. Маршруты работают нормально, но дочерние маршруты также загружаются в корневой выход маршрутизатора. Например: - компонент testCreateComponent загружается с localhost: 4200 / test / create, а также localhost: 4200 / create.
Примеры уровней кода следующие: -
app.component.html
<div>app</div>
<router-outlet></router-outlet>
app-routing.module.ts
export const APP_ROUTES: Routes = [
{path: '**', redirectTo: '', pathMatch: 'full'}
];
home.component.html
<div>home</div>
<router-outlet><router-outlet>
home-routing.module.ts
const routes: Routes = [{
path: '',
component: HomeComponent,
canActivate: [LoggedUserGuard],
canActivateChild: [AuthGuard],
children: [
{path: '', redirectTo: 'dashboard', pathMatch: 'full'},
{
path: 'test',
loadChildren: () => testModule
},
{
path: 'dashboard',
component: DashboardComponent,
data: {
breadcrumb: 'Dashboard'
}
},
{
path: 'dummy',
loadChildren: () => dummyModule,
}
]
}];
testComponent.html
<div>Test</test>
<router-outlet></router-outlet>
test-routing.module.ts
const routes: Routes = [{
path: '',
component: TestComponent,
children: [
{path: '', component: ListComponent,
data: {
breadcrumb: 'List'
}},
{path: 'create', component: testCreateComponent},
{ path: 'detail/:id',
component: TestEditComponent,
}
]
}];