모듈에 정의 된 루트 구성 요소 (EducationComponent)에 정의 된 라우터 콘센트에로드되는 탐색 항목 및 하위 경로 집합을로드하는 ngModule (EducationModule)을 만들었습니다. 모듈에서 정의 된 기능을 다른 구성 요소 (AuthenticatedComponent)의 하위 경로로 사용하려는 경우를 제외하면 모든 것이 효과적입니다. 즉, 모듈에 정의 된 라우팅을 루트 수준에서 정의 된 경로에 대한 자식 경로로 추가하려고합니다. 라우터 3을 사용할 수 있습니까?
EducationModule에 정의 된 경로를 AuthenticatedComponent에 정의 된 라우터 출력에로드하려고하지만 루트 AppComponent 템플릿의 라우터 출력에로드하고 싶습니다. 아래의 경로 정의를 참조하십시오.
app.routes.ts - AppModule에로드 된 주요 경로
{
path: '', component: AuthenticatedComponent, canActivate: [AuthGuard],
children: [
{
path: 'profile/education',
loadChildren: 'app/modules/education/education-module#EducationModule'
},
education.routing.ts - EducationModule의 경로
const educationRoutes: Routes = [
{
path: 'profile/education',
component: EducationComponent,
children: [
{ path: '', component: WebinarsComponent },
{ path: 'webinars', component: WebinarsComponent },
{ path: 'programs', component: ProgramsComponent },
{
path: 'courses',
component: CoursesComponent,
resolve: {
courses: CoursesResolve
}
}
]
}
];
export const educationRouting: ModuleWithProviders = RouterModule.forChild(educationRoutes);
나는 첫 번째 경로가educationRoutes
부모가 이미 있음에 따라 프로필 / 교육 접두사가 없어야합니다 (AppModule
).
나는 보통 당신이 묘사 한 것과 같은 시나리오를 사용하며 작동합니다.
이 시도:
const educationRoutes: Routes = [{
path: '' // prefix is already specified in AppModule,
component: EducationComponent,
children: [
{ path: '', component: WebinarsComponent },
{ path: 'webinars', component: WebinarsComponent },
{ path: 'programs', component: ProgramsComponent },
{
path: 'courses',
component: CoursesComponent,
resolve: {
courses: CoursesResolve
}
}
]
}
];
export const educationRouting: ModuleWithProviders = RouterModule.forChild(educationRoutes);