オプションのパラメータと一致するリンク上でアクティブフラグを設定するのは難しいです。ここでAngular2 +必要なオプションのパラメータのrouterLinkActive型ソリューション
は私のルートです:
{ path: 'clients', component: ClientListComponent, canActivate: [AuthenticationGuard] },
{ path: 'clients/:id', component: ClientDetailComponent, canActivate: [AuthenticationGuard] },
最初は完全なリストである、第二は、選択したid
についての詳細です。 (だから私はむしろURLに必要なパラメータを使用しようとしないでください)
ClientListComponent
には、「アクティブのみ」(デフォルト)と「すべて」フィルタを表す2つのリンクがあります。
<a [routerLink]="['/clients']" ...
<a [routerLink]="['/clients', {showAll: 'true'}]" ...
URLで結果として得られる:私はこれらのためにアクティブなクラスを配線可能性がどのように
/clients
/clients;showAll=true
任意の提案ですか?標準routerLinkActive
ignores optional parameters。
私はあなたの答えを出発点として使い終わりました。そして、 'DefaultUrlSerializer'を使ってイベントの' e.url'をオブジェクトに変換し、私のルートと比較しやすくしました。 –