为什么 [routerLink] 指令选择器定义为 :not(a)[routerLink]?
Why is the [routerLink] directive selector defined as :not(a)[routerLink]?
In the Angular documentation,routerLink
指令选择器定义为:
:not(a)[routerLink]
据我所知,这意味着 "all non <a>
tags that have the attribute routerLink"。
但是,在同一文档的后面,他们展示了 routerLink
与 <a>
标签一起使用的示例,例如:
<a [routerLink]="['/user/bob']" [queryParams]="{debug: true}" fragment="education">
link to user component
</a>
这是文档中的错误还是我对选择器不了解?
要添加@yurzui 评论,
需要两个,因为 RouterLinkWithHref 会更新锚标签上的 href,您可以享受 link 标签的所有好处,例如在新标签页中打开,
并且如果您将 routerLink 应用于非锚标记 RouterLink
使用了指令并且没有要设置的 href。
In the Angular documentation,routerLink
指令选择器定义为:
:not(a)[routerLink]
据我所知,这意味着 "all non <a>
tags that have the attribute routerLink"。
但是,在同一文档的后面,他们展示了 routerLink
与 <a>
标签一起使用的示例,例如:
<a [routerLink]="['/user/bob']" [queryParams]="{debug: true}" fragment="education">
link to user component
</a>
这是文档中的错误还是我对选择器不了解?
要添加@yurzui 评论,
需要两个,因为 RouterLinkWithHref 会更新锚标签上的 href,您可以享受 link 标签的所有好处,例如在新标签页中打开,
并且如果您将 routerLink 应用于非锚标记 RouterLink
使用了指令并且没有要设置的 href。