2016-06-26 3 views
1

에 따라 전환 지침의 구성 요소는 내가 , 소개고급 검색 페이지가 말할 수 있습니다. 내 AppComponent html 있음 있음 :각도 2 - 페이지

<view-header></view-header> 
<view-search></view-search> 
<router-outlet></router-outlet> 
<view-footer></view-footer> 

아주 간단합니다. 먼저 헤더의 html을로드 한 다음 기본 검색의 html을로드 한 다음 계속로드합니다.

이전에 말씀 드린대로 검색입니다. 분명히 내 지시문 view-search을 보여주고 싶지 않다. 왜냐하면 당신이 고급 검색 페이지에있을 때 꽤 쓸모가 없기 때문이다.

제 질문은 고급 검색 페이지로 라우팅 할 때 Angular2에게보기 검색 지시문을 사용하지 않도록 설정하려면 어떻게해야합니까? 템플릿에

<view-header></view-header> 

<!-- If (not in route "/search") --> 
    <view-search></view-search> 
<!-- Endif --> 

<router-outlet></router-outlet> 
<view-footer></view-footer> 
+0

'route.subscribe'를 사용하여 현재 활성 경로를 확인하십시오. – AngJobs

+0

@AngJobs 답장을 보내 주셔서 감사합니다. 나는 그것을 조사 할 것이다. –

+0

probs가 없습니다. 공식 문서 https://angular.io/docs/ts/latest/guide/router.html – AngJobs

답변

0

당신은 단순히 ngIf를 사용 (또는 [hidden]에 결합) 할 수 있습니다 :


편집 즉 1

, 나는 그런 일을하고 싶지

<view-header></view-header> 
<view-search *ngIf="showViewSearch"></view-search> 
<router-outlet></router-outlet> 
<view-footer></view-footer> 
<router-outlet></router-outlet> 

현재 경로가 검색되지 않는 경우에 따라서 viewSearch 구성 요소 만 렌더링 showViewSearch

constructor(private activatedRoute: ActivatedRoute) { 
    this.showViewSearch = activatedRoute.component !== Search 
} 

로 정의한다.

+0

당신의 도움을 주셔서 감사합니다, 내가 언급 한 것처럼 노력했지만 귀하의 검색 구성 요소가 자신을 숨길 수 있다고 생각하지만 내 전체 프로젝트에서 찾지 못했습니다 ActivatedRoute 클래스입니다. 어쩌면 다른 버전일까요? 내 버전은 -'angular-cli : 1.0.0-beta.2-mobile.4' –

+0

당신이 사용하는 라우터의 버전은 무엇입니까? ActivatedRoute는 버전 3.x의'@ angle/route'에 의해 내보내집니다. – dfsq

+0

"@ angular/router": "2.0.0-rc.1". 3.x로 업그레이드해야합니까? –