0
次のような単純なコンポーネントを使用して、テンプレートからアクティブ要素への参照を取得しようとしています。アクティブな要素フォームテンプレートを取得できません
export class SidebarComponent {
@ViewChildren(RouterLinkActive) linkItems: QueryList<RouterLinkActive>;
ngAfterViewInit() {
let activeLink = this.linkItems.find(item => item.isActive);
console.log('Active link is');
console.log(activeLink); //this is undefined
}
}
そして、上記のコンポーネントのための単純なテンプレートです。
<ul>
<li>
<a [routerLink]="['/app/link1']" routerLinkActive="active"> Link 1</a>
</li>
<li>
<a [routerLink]="['/app/link2']" routerLinkActive="active"> Link 2</a>
</li>
</ul>
問題は、私はスタイルがactive
クラスを要素に適用されていても、テンプレートから能動素子を取得しておりませんです。同じコードは、角度v2で動作しましたが、角度v4では壊れました。私はどのようにしてアクティブな要素を角度v4で得るべきですか?
'rouerLinkActive'属性を持つテンプレートから常に最初の要素を与えています。 – Lekhnath
'this.linkItems [1] .isLinkActive(this.router);'のために何を得るのですか? –
私はこのエラーを受け取りました 'TypeError:プロパティを読み取ることができません 'isLinkActive' undefined' – Lekhnath