2017-07-21 13 views
0

ユーザーがプロモーションページにヒットしたときに、ヘッダーとフッターをAngular2で非表示にしたいとします。Angular2で現在のコンポーネント名を取得する方法

https://example.com/promo 

次のように私のアプリのcompontentは次のとおりです。

<login-bar></login-bar> 
    <banner *ngIf="showComponent()"></banner> 
    <navbar *ngIf="showComponent()"></navbar> 
    <router-outlet></router-outlet> 
    <footer *ngIf="showComponent()"></footer> 

ユーザーがページ上にある場合:/プロモーション私は、バナー、ナビゲーションバーとフッターのコンポーネントを非表示にします。私のコードで

私はこれを持っている:

export class AppComponent { constructor(
     private router:Router 

) {} 

    showComponent(): Boolean { 
    **** 
    How do I check the current route? 
    **** 
    var currentRoute = ** enter magic here ** 
    return (currentRoute === "promo") ? true : false; 
    } 
} 

だから私の質問、私は表示またはコンポーネントを非表示にすることができますように、私は午前現在のページ/ルートを見つけるための最善の方法は何ですか?

+0

アクティブルートまたはルーターを使用してください – Gary

答えて

0

現在アクティブ化されているルートを取得するには、ActivatedRouteサービスを注入できます。これにより、現在のルートのURLのオブザーバブルにアクセスすることができます。

export class AppComponent { 

    // Bind to this: 
    isPromo = false; 

    constructor(private route: ActivatedRoute) {} 

    ngOnInit() { 
     route.url.subscribe(segments => { 
      this.isPromo = segments[0].path === "promo"; 
     }); 
    } 

} 
関連する問題