現在アクティブなリンクを強調表示したい
<a [routerLink]="['/route']" />
レンダリング後<a>
、適切に機能する正しいリンクのタグを取得しています。
しかし、このディレクティブには、 hrefが現在の場所と同じ場合にrouter-link-activeクラスをアンカーに追加する追加の動作もあります。
問題は、これがうまく機能しないことです。
get isRouteActive(): {
return this._router.isRouteActive(this._navigationInstruction);
}
_router.IsRouteractive内には、現在のルート コンポーネントを含む現在の命令フィールドがあります。そして、そのコンポーネントは __navigationInstruction と比較されます。実際、ルート コンポーネントが等しい場合、リンクは最新です。
問題は、現在の命令がnullであることです。次の場所に割り当てられます。
Router.prototype.commit = function(...)
この関数は、Directive が処理された後に呼び出されます。
したがって、これは決してうまくいくはずがありません。