2016-11-25 6 views
0

어제부터 내 머리를 긁적이고 내 문제를 해결하는 방법을 알아낼 수 없습니다. 부모 : 대시 보드 구성 요소가 있으며 페이지 헤더 및 드롭 다운 목록이 포함되어 있습니다. 내 자식 구성 요소는 현재 한 줄로 구성되어 있습니다. "Child Component! Chosen value from dropdown list: "Some value"". 아래 그림을 참조하십시오.각도 2 자녀 및 부모 (webpack, TS, Angular 2 final)

통신은 정상적으로 작동하지만 대시 보드로 이동할 때 문제가 있습니다.

내 경로

은 다음과 같습니다

는 경우
{ 
    path: 'admin', 
    component: AdminComponent, 
    children: [ 
     { 
      path: '', 
      component: AdminComponent, 
     }, 
     { 
      path: 'something/:name', 
      component: TestComponent, 
     }, 
    ] 
}, 

나는 추가하지 않습니다

 { 
      path: '', 
      component: AdminComponent, 
     }, 

을 아이들 노선에, 내가 얻을 오류 :

Uncaught (in promise): Error: Cannot match any routes: 'admin' 
Error: Cannot match any routes: 'admin' 

하지만이 또한 즉, 자식에 추가 한 경우 부모 뷰가 두 번 표시된다는 의미입니다.

드롭 다운 목록에서 하위보기를 트리거하는 항목을 선택하면보기 좋게 표시되고,보기는 드롭 다운 목록이있는 상위보기와 하위 텍스트 줄과 같이 나타납니다.

children: [ 
     { 
      path: '', 
      component: AdminComponent, 
     }, 
     { 
      path: 'something/:name', 
      component: TestComponent, 
     }, 
    ] 

에 :

나는 아이들의 경로에서 라인을 변경하려고했습니다

children: [ 
     { 
      path: '', 
      redirectTo: 'admin', 
     }, 
     { 
      path: 'something/:name', 
      component: TestComponent, 
     }, 
    ] 

를하지만 이것에

+0

코드에 Plunker를 제공해 주실 수 있습니까? –

+0

Childeren과 부모 경로'component'는'DashboardComponent'와 동일합니다. 무한 루프가 발생할 것이라고 생각하지 않습니까? –

+1

@ PankajParkar 라우팅 및 구성 요소는 별도로 볼 수 있습니다. 'DashboardComponent'에서 진행되는 리다이렉트가있을 때만 작동합니다. 예상대로 아니지만 작동합니다;) – PierreDuc

답변

1

변경을 작동하지 않습니다

children: [ 
     { 
      path: '' 
     }, 
     { 
      path: 'something/:name', 
      component: TestComponent, 
     }, 
] 

이렇게하면 빈 경로에 router-outlet에있는 것. 또 다른 옵션은 빈 경로를 something으로 리디렉션하고 자리 표시 자 구성 요소에 '질병 선택'이라고 말하면됩니다.

+0

Perfect !! 그, LOL 쉬운. 네,이게 내 문제를 해결했습니다, 고마워요, 고마워요! – Alex