2017-02-14 11 views
7

경로에 대해 여러 해결 클래스를 만드는 방법을 알고 있지만 한 해결 결과를 다른 해결 방법으로 전달하는 방법을 모르겠습니다.각도 라우터를 사용하여 한 해결 결과 전달

// Example Route 
{ 
    path: 'book/:id', 
    component: BookComponent, 
    resolve: { 
    document: BookResolve, 
    title: BookTitleResolve 
    } 
} 

책 객체를 반환BookResolve, 어떻게 당신이 BookTitleResolve에 그 책의 개체를 전달할 수 있다면?

데이터에 이라는 제목의이라는 제목 서비스가 있습니다. 책 객체에서 책 제목을 생성 할 수 있어야합니다. 이것은 역동적이어야합니다.

+0

당신이 즉 this.route'에서, 2 해결에서 구성 요소가하는 같은 방법으로 제 1 해결 값에 접근하는데 노력했다. 데이터 '? – AngularChef

답변

2

같은 구성 요소 내에서 동시에 해결되지만 부모가 해결하기 때문에 자녀를 완료 할 수 있으므로 가장 쉬운 방법은 책을 해결할 목적으로 상위 경로를 만드는 것입니다. 부모가 구성 요소를 렌더링하지 않습니다 및 일부 추가 상용구에도 불구하고, 경로가 기능적으로 동일하게 행동해야하므로 아이가 빈 경로를 포함

{ 
    path: 'book/:id', 
    resolve: { 
    document: BookResolve 
    }, 
    children: [ { 
    path: '', 
    component: BookComponent, 
    resolve: { 
     title: BookTitleResolve 
    } 
    } ] 
} 

참고.

는 그런 다음 BookTitleResolve 구현 내에서, 당신은 부모 경로에서 검색 할 수 있습니다

class BookTitleResolve { 
    resolve(route: ActivatedRouteSnapshot) { 
     // Do something with route.parent.data.document 
    } 
}