2017-09-05 1 views
13

ActivatedRouteSnapshotActivatedRoute의 각도는 4 란 무엇입니까? ActivatedRouteSnapshotActivatedRoute의 자식이며, ActivatedRouteActivatedRouteSnapshot이 있다는 것을 의미합니다.ActivatedRoute와 ActivatedRouteSnapshot의 차이점은?

덧붙여서이 질문에 대한 답변으로 Google 검색을 실행하려고했지만 검색 결과를 이해할 수 없었습니다.

감사합니다.

답변

21

ActivatedRoutecan be reused 때문에 ActivatedRouteSnapshot특정 버전의 ActivatedRoute 나타내는 불변 오브젝트이다. ActivatedRoute과 동일한 모든 속성을 일반 값으로 표시하지만 ActivatedRoute은이를 관찰 가능 항목으로 표시합니다. 라우터가 구성 요소를 재사용하고 새로운 작동 경로를 생성하지 않는 경우 같은 ActivatedRoute에 대한 ActivatedRouteSnapshot의 두 가지 버전이있을 것이다,

export class ActivatedRoute { 
    /** The current snapshot of this route */ 
    snapshot: ActivatedRouteSnapshot; 

: 여기

는 구현의 주석입니다. 다음 라우팅 구성이 가정 :
path: /segment1/:id, 
component: AComponent 

이제로 이동합니다

/segment1/1 

당신은 1으로 activatedRoute.snapshot.params.id에서 PARAM이있을 것이다. 당신은 2으로 activatedRoute.snapshot.params.id에서 PARAM이있을 것이다

/segment1/2 

:에

이제 이동합니다.

export class AComponent { 
    constructor(r: ActivatedRoute) {  
    r.url.subscribe((u) => { 
     console.log(r.snapshot.params.id); 
    }); 
:

다음을 구현하여 그것을 볼 수 있습니다

관련 문제