首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角4得到[routerLink] ViewChildren

角4得到[routerLink] ViewChildren
EN

Stack Overflow用户
提问于 2018-07-05 15:08:56
回答 1查看 576关注 0票数 0

我正在尝试获取当前组件中所有链接的列表,并使用一个模板来查看以下内容:

代码语言:javascript
复制
<div *ngFor="let link of links">
  <a [routerLink]="[link.url]">{{ link.label }}</a>
</div>

我试着设置一个@ViewChildren(RouterLink) links: QueryList<RouterLink>;。但是这个列表总是空的。

@ViewChild(RouterLink) elem: RouterLink;进行快速实验

代码语言:javascript
复制
<div [routerLink]="[]">Bla</div>

返回一个值,而

代码语言:javascript
复制
<a [routerLink]="[]">Bla</a>

不会的。

我查看了文档:https://angular.io/api/router/RouterLink,其中的选择器实际上是:not(a)[routerLink],所以这个实验是有意义的。

现在的问题是:如何获得[routerLink]的列表,它是<a>元素的属性?我找不到任何AComponent或可疑的东西。

一个可能的退路是,在所有元素<a #myLink [routerLink]="[]">上添加一个ID,但这似乎有点奇怪,因为我已经有了我想要使用的标识标准。

我如何找到我的[routerLink]的列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-17 06:57:27

当我看到有一个RouterLinkWithHref时,我正在寻找同样的东西。我没有时间试一试,但我想它能帮到你。

如果我有时间后,我会尝试和编辑我的答案。

编辑

我试过了,实际上,这两种方法(不管有没有a)都能工作。

这都是假设,但是他们可能已经创建了RouterLinkWithHref来与现有的锚机制(对SEO有用)进行交互。

然后,为none锚标记设置指令似乎是合乎逻辑的(重叠组件选择器和指令选择器感觉不正确)。

无论如何,我没有找到任何解决方案,使RouterLinkRouterLinkWithHref在一个单一的ViewChildren。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51194701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档