2016-09-05 40 views
0

私のアプリケーション(Angular2 RC6)には、アプリケーションのすべてのセクションを含むnavbarがあります。 セクションをクリックすると(またはURLにセクションを指定した場合)、そのセクションを強調表示する必要があります。このアプローチの問題はe.urlが文字列であり、すべてのパスでその文字列を比較することが退屈であるということである現在のセクションをnavbarに表示

router.events.subscribe (e => 
{ 
    if (!(e instanceof NavigationEnd)) 
     return; 

    this.sectionChanged.emit (e.url); 
}) 

:例えば、私はそのような何かを使用しています。この目的を達成するために

if (path == "/main/users") 
    highlightUsersSection(); 
if (path == "/main/blabla") 
    highlightBlaBlaSection(); 

また、私はセクションを強調表示し、セクション名をフッターに書き込むので、2回行う必要があります。

答えて

1

routerLinkActiveディレクティブを使用できます。リンクのルートがアクティブになると、要素にCSSクラスが追加されます。ここで

は例です:

template: ` 
    <nav> 
    <a routerLink="/dashboard" routerLinkActive="active">Dashboard</a> 
    <a routerLink="/heroes" routerLinkActive="active">Heroes</a> 
    </nav> 
`, 
+0

は良いようだが、どのようなフッターのセクション名については? – user3471528

+0

それは単なる名前かリンクですか? –

+0

ちょうど名前。たぶん将来、私はリンクでそれを変換します – user3471528

関連する問題