2017-12-08 3 views
1

모두에있는 경우,확인 라우터 콘센트를 사용

나는 특정 router-outlet이 구성 요소가있는 경우 페이지의 섹션을 제거 *ngIf를 사용하고 싶습니다.

ActivatedRouteRouter을 통해 검색해 보았습니다.하지만 알아낼 수 없습니다. 특정 router-outlet가 사용 중인지 어떻게 확인합니까?

+0

희망이 당신을 도울 것입니다 .....은 https : //stackoverflow.com/questions/41488565/angular-2-check -current-active-route-name –

+0

@AvinashT입니다. 감사. 호기심에서 벗어난 – screenmutt

답변

0

나는 이것을 알아 냈다. 라우터 콘센트에 이벤트를 사용해야합니다. 그러나 ngIf은 콘센트가 dom에 있지 않으면 이벤트가 실행되지 않으므로 사용할 수 없습니다.

TS

showOutlet: false; 

onActivate(event : any) { 
    this.showOutlet = true; 
} 

onDeactivate(event : any) { 
    this.showOutlet = false; 
} 

HTML

<div [hidden]="!showOutlet"> 
    <router-outlet name="my-outlet" 
     (activate)="onActivate($event)" 
     (deactivate)="onDeactivate($event)"></router-outlet> 
</div> 
+0

'router-outlet'을 숨길 때 유스 케이스는 무엇입니까? –

+0

Project Clarity를 ​​사용하는 인터페이스가 있습니다. 때로는 사이드 탐색 (대시 보드)을 사용하고 다른 경우에는 서브 탐색 (검색)을 사용하고 싶습니다. 각 섹션을 서로 다른 라우터 - 아웃렛으로 설정하여 우려 사항을 구분했습니다. – screenmutt