2016-06-27 1 views
0

을 포함해야한다 :"아이"루트 경로 내 경로 설정 그게 전부 부모 경로 경로

export const SchoolyearsRoutes: RouterConfig = [ 
    { path:'', terminal:true, redirectTo: '/schoolyears'}, 
    { path: 'schoolyears', component: SchoolyearsListComponent }, 
    { path: 'schoolyears/edit/:id', component: SchoolyearsEditComponent }, 
    { path: 'schoolyears/create', component: SchoolyearsCreateComponent } 

하지만 난 그것을 갖고 싶어 : 그 편집을 원하는

export const SchoolyearsRoutes: RouterConfig = [ 
    { path:'', terminal:true, redirectTo: '/schoolyears'}, 
    { path: 'schoolyears', component: SchoolyearsListComponent }, 
    { path: 'edit/:id', component: SchoolyearsEditComponent }, 
    { path: 'create', component: SchoolyearsCreateComponent } 

/경로 앞에 추가 기지를 만들 런타임 중에 암기 적으로 '학년도'로 URL을 지정하십시오.

구성 요소를 재구성하지 않고 어떻게이 작업을 수행 할 수 있습니까?

UPDATE

내가 타이프 라이터를 사용하지만 실제로 컴파일시에 발생한다 런타임 예외 얻을 : 그것은 당신의 사건을 해결하는 것을

browser_adapter.ts:84EXCEPTION: Error: Uncaught (in promise): TypeError: Cannot read property 'annotations' of undefined 

답변

1
export const SchoolyearsRoutes: RouterConfig = [ 
    { path:'', terminal:true, redirectTo: '/schoolyears'}, 
    { path: 'schoolyears', component: SchoolyearsRootComponent, children: [ 
    { path: '', component: SchoolyearsListComponent }, 
    { path: 'edit/:id', component: SchoolyearsEditComponent }, 
    { path: 'create', component: SchoolyearsCreateComponent } 
    ] } 
] 

을 아닌가요?

+0

실제로 예. 나는 "./childpath"무언가가 효과가있을 것이라고 생각했지만 아이들은 새로운 router3 기능입니다 ... 코드없이 런타임 예외가 생깁니다 - 문제없이 컴파일 되더라도 - 오류 메시지로 제 질문을 업데이트했습니다. 그 문제가 보인다 : http://stackoverflow.com/questions/38065325/angular-2-child-routing-v3-cannot-read-property-annotations-of-undefined – Elisabeth

+0

답변에'SchoolyearsRootComponent'를 추가했습니다. 경로 학년에는 '구성 요소'가 부족했다. 귀하의 경우에는 아마도 ''만 포함될 것입니다. –

+0

또 다른 WrapperComponent가 필요하다는 것을 알았습니다. 그렇다면 예외가 발생합니다. 기본 콘센트를 찾을 수 없습니다. 나는이 Wrapper/Home 컴포넌트가 router3과 함께 사라 졌다고 생각했다. 따라서 SchoolyearsRootComponent는 템플릿 만 있으면됩니다 :''이 맞습니까? – Elisabeth