簡體   English   中英

角4獲取[routerLink] ViewChildren

[英]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中獲得RouterLinkRouterLinkWithHref任何解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM