2

모듈에 정의 된 루트 구성 요소 (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);

1 답변


2

나는 첫 번째 경로가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);

관련된 질문

최근 질문