2016-09-26 8 views
0

angular2では、私は親ルータのリンクを隠す方法を見つける必要があります。私は最低レベルの情報だけを表示する必要があります - 私はこのレベルに私をもたらしたルーティングリンクツリーではありません。angular2親ルータのリンクを隠す方法

私はAngular 2.0 finalを使用しています。 私はangular-cliを使用していないので、切り替えはできません。 すべての私のコードは、このplunkに含まれています。routerLink「約」、私はONLY 「の内容について」を表示し、「ホーム」と「routerLinksについて」を非表示にする必要があります上のユーザーがクリックした後http://plnkr.co/edit/EdLY62A8GfVimEn48HaA

「About」に存在する可能性のある子ルートについても同じ要件が適用されます。ルーティングツリーのどのポイントでも、そのレベルの選択肢のみを表示する必要があります。示されている。

アプリケーションコンポーネント:

取得するには、ルート変更を聞いて私たちの現在のルート

// Router contains our current path 
    import { Router, NavigationStart, Event as NavigationEvent } from '@angular/router'; 

を知っ

import { Component } from '@angular/core'; 
 

 
@Component({ 
 
    selector: 'demo-app', 
 
    template: ` 
 
    <a [routerLink]="['/']">Home</a> 
 
    <a [routerLink]="['/about']">About</a> 
 
    <div class="outer-outlet"> 
 
    <router-outlet></router-outlet> 
 
    </div> 
 
    ` 
 
}) 
 
export class AppComponent { }

答えて

1

を非表示にするには、私たちの現在のルートに応じて特定のリンクを表示する、我々はする必要があります現在のパスとリンクを更新する

constructor(private router: Router) { 

     router.events.subscribe((event: NavigationEvent) => { 
     if (event instanceof NavigationStart) { 
      let activeRoute: string = event.url; 
      // Now that we know the path 
      // we can determine which links to hide 
     } 
     }); 

    } 

More navigation events

ここdemo

+0

おかげ@firesnapだ - これは私が探していたまさにです。 – Danny

+0

@Dannyあなたは彼の答えを受け入れるべきです – apricity

関連する問題