Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 基于路由器链接是否传递给组件,动态地将routerLink添加到锚定标记_Angular - Fatal编程技术网

Angular 基于路由器链接是否传递给组件,动态地将routerLink添加到锚定标记

Angular 基于路由器链接是否传递给组件,动态地将routerLink添加到锚定标记,angular,Angular,我试图根据是否将routerLink传递给组件本身,动态地将routerLink添加到锚定标记中 这是我目前拥有的代码: [attr.routerLink]="router ? router : null" 当传递了routerLink但没有传递href时,生成的标记如下所示: <a _ngcontent-hlo-122="" routerlink="/myRoute">My Link</a> 我的链接 我已经尝试了很多方法,但我似乎永远都无法让它发挥作用。有人有解

我试图根据是否将
routerLink
传递给组件本身,动态地将
routerLink
添加到锚定标记中

这是我目前拥有的代码:

[attr.routerLink]="router ? router : null"
当传递了
routerLink
但没有传递
href
时,生成的标记如下所示:

<a _ngcontent-hlo-122="" routerlink="/myRoute">My Link</a>
我的链接
我已经尝试了很多方法,但我似乎永远都无法让它发挥作用。有人有解决这个问题的可靠办法吗?

终于找到了答案

解决方案:

<a [routerLink]="router ? [router] : []>My Router Link</a>

routerLink是angular directive not element属性。我知道,我也尝试过使用三元运算符,但当传递给组件的routerLink为null、未定义或无效时,没有一个值可以放在另一端,而不会引发错误
[attr.routerLink]=“路由器?路由器:null”
AFAIK您不能有条件地应用
routerLink
。我用@Gunter的答案解决了这个问题