[英]Angular 4 get [routerLink] ViewChildren
我正在嘗試獲取當前組件中所有鏈接的列表,以及一個模板,其外觀與此類似:
<div *ngFor="let link of links">
<a [routerLink]="[link.url]">{{ link.label }}</a>
</div>
我試圖建立一個@ViewChildren(RouterLink) links: QueryList<RouterLink>;
。 該列表始終為空。
@ViewChild(RouterLink) elem: RouterLink;
快速實驗@ViewChild(RouterLink) elem: RouterLink;
:
<div [routerLink]="[]">Bla</div>
返回一個值,而
<a [routerLink]="[]">Bla</a>
才不是。
我檢查了以下文檔: https :not(a)[routerLink]
,其中選擇器實際上是:not(a)[routerLink]
,因此該實驗很有意義。
現在的問題是:如何獲取作為<a>
元素屬性的[routerLink]
列表? 我找不到任何AComponent
或可疑的東西。
可能的后備方法是,在所有元素上添加一個ID <a #myLink [routerLink]="[]">
,但這似乎<a #myLink [routerLink]="[]">
,因為我已經有了一個要使用的識別標准。
如何找到[routerLink]
的列表?
看到有一個RouterLinkWithHref
時,我正在尋找相同的東西。 我沒有時間嘗試,但是我想它可以為您提供幫助。
如果我有時間的話,我會嘗試一下並編輯答案。
我嘗試過,實際上,(使用a和不使用a
)都可以。
都是假設,但他們可能已經創建了RouterLinkWithHref
來與現有錨機制(對於SEO有用)進行交互。
然后使沒有錨標記的指令看起來合乎邏輯(重疊組件選擇器和指令選擇器感覺不正確)。
無論如何,我沒有找到在單個ViewChildren中獲得RouterLink
和RouterLinkWithHref
任何解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.