【发布时间】:2018-09-17 20:02:37
【问题描述】:
我正在尝试获取当前组件中所有链接的列表,模板看起来类似于以下内容:
<div *ngFor="let link of links">
<a [routerLink]="[link.url]">{{ link.label }}</a>
</div>
我尝试设置@ViewChildren(RouterLink) links: QueryList<RouterLink>;。不过这个列表总是空的。
@ViewChild(RouterLink) elem: RouterLink; 的快速实验:
<div [routerLink]="[]">Bla</div>
返回一个值,而
<a [routerLink]="[]">Bla</a>
没有。
我查看了文档:https://angular.io/api/router/RouterLink,其中选择器实际上是:not(a)[routerLink],所以这个实验是有意义的。
现在的问题是:如何获得作为<a> 元素属性的[routerLink] 列表?我找不到任何AComponent 或任何可疑的东西。
一个可能的后备方案是,在所有元素上添加一个 ID <a #myLink [routerLink]="[]">,但这似乎有点奇怪,因为我已经有了一个我想使用的识别标准。
如何找到我的[routerLink]s 列表?
【问题讨论】:
标签: angular routerlink viewchild