2016-11-28 3 views
2

내가, 내가 시간이 그것에 대해 인터넷 검색을 보냈지 만 행운과 함께 한, 각도 2 개 라우터 경로에 관한이 개 질문이 : 모든각도 2 라우터 경로

{ path: 'contract', component: ContractInsertUpdateComponent, children: [ 
     { path: '' }, 
     { path: ':id', component: ContractInsertUpdateComponent, children:[ 
        { path: 'buyers', component : ContractTabBuyerComponent }, 
        { path: 'seller', component : ContractTabSellerComponent } 
     ]}     
]} 

첫째, 제가 여기서 달성하고자하는 것을 설명해 드리겠습니다. 계약서의 삽입/갱신에 동일한 구성 요소를 사용하고 싶습니다.

  1. 난의 궁금 우선 계약의 기본 경로는

    {경로 : ''} 나는 또한

    localhost:4200/contract/2/buyers

    처럼 보일 것이다 많은 어린이 경로와 전체 URL을 가지고있다

경로가 다음과 같은 경우 올바르게 이해하면

localhost:4200/contract

그것은 Atm을하는 ContractInsertUpdateComponent를로드해야합니다. 제 질문은 : 올바른 방법입니까? 또한 가능한 경우 기본 경로로 빈 구성 요소의 사용을 피하고 싶습니다.

    현재 작동하지 않습니다이 경로 설정의
  1. 나머지는, 예를 들어 내가

localhost:4200/contract/2

메신저 점점 오류 같은 것을 입력하면 : 어떤 경로를 일치하지 않을 수 있습니다. URL 세그먼트 : 'contract/2'

제가 이해할 때 ContractInsertUpdateComonent를로드해야합니까?

다른 도움을받을 곳이 어디인지 알 수 없으며 올바른 방향으로 나를 가리켜 줄 필요가 있습니다. 사전에 도움을 주셔서 감사합니다!

답변

2

`/ 계약/2 일치이 경로

{ path: '' }, 

다음 /contract/2'' (실제로 모든 경로가 않습니다) 로 시작하고이 경로의 하위 경로를 검색하지만 아무도 없기 때문에 실패하기 때문에.다음 라우터가 ''로 시작하는 경로에 대한 만 ''

갱신

{ path: 'contract', component: ContractInsertUpdateComponent, children: [ 
    { path: '', pathMatch:'full', /* I guess you want some `component: ...` or `redirectTo: ...` here }, 
    { path: ':id', children:[ 
     { path: '', pathMatch:'full' }, 
     { path: 'seller', component : ContractTabSellerComponent } 
    ]} 
]} 
+0

음, 덕분에 경로를 검색하지 않기 때문에

{ path: '', pathMatch: 'full' }, 

는, 그것을 수정해야 , 당신의 논리를 사용하여 내가 일하도록 만들었습니다. (일종의) - 두 경로 모두'{path : '', pathMatch : 'full'}'를 추가 했으므로 이제 다음과 같이 보입니다 : {경로 : 'contract', 구성 요소 : ContractInsertUpdateComponent, 하위 : [ {경로 : '', 경로 일치 : '전체'}, {경로 : ': id', 어린이 : [ {경로 : '', 경로 일치 : 'full'} {경로 : '판매자', 구성 요소 : ContractTabSellerComponent} }} 내 ContractInsertUpdateComponent 매개 변수 (id) 값이 NaN이기 때문에 문제가 생겼습니다. 어떤 생각? – Exerlol

+0

'id'는'ContractTabSellerComponent'에게만 전달됩니다. 당신은 그것을 거기에서 사용하거나 그것을 부모에게 전달할 수 있습니다. 부모로부터 매개 변수를 가진 자식 라우트를 찾는 방법도 있지만 그것은 약간 깨지기 쉬운 것 같습니다. –

+0

나중에 접근하기 위해 http://stackoverflow.com/questions/38956129/angular-2-new-router-how-to-get-router-parameters-of-a-child-component도 참조하십시오. –