Вы должны разделить ваши маршруты, чтобы app.routing.module содержал только:
const routes: Routes = [
...
{
path: 'project',
loadChildren: () =>
import('../project-page/project-page.module').then(m => m.ProjectPageModule)
}
...
];
Затем создайте другой модуль маршрутизации, например project-page.routing.module
, и импортируйте его в ваш ProjectPageModule
. Маршруты для вашего подмодуля могут быть определены следующим образом:
const appRoutes: Routes = [
{
path: '',
component: ProjectPageEntryComponent,
children: [
{
path: ':id',
component: ProjectPageComponent
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(appRoutes)],
exports: [RouterModule]
})
export class ProjectPageRoutingModule {}
и, наконец, код для ProjectPageEntryComponent
будет выглядеть примерно так:
@Component({
template: '<router-outlet></router-outlet>'
})
export class ProjectPageEntryComponent {}
Таким образом, вы обрабатываете только высокоуровневые Навигации в вашей основной app.routing.module
и более конкретные навигации для любых SpecificModule
связанных навигаций в отдельном файле.