【问题标题】:Dynamic [routerLink] binding with Angular 11与 Angular 11 的动态 [routerLink] 绑定
【发布时间】:2021-06-21 07:37:18
【问题描述】:

routerLink 和 queryParams 具有以下值。尝试在 HTML 中绑定值

anchorValue : string = `<a [routerLink]="['../category/new ']" [queryParams]="{ query: 'category' }" routerLinkActive = "router-link-active"> Add category</a>`

HTML

<mat-hint [innerHTML]="anchorValue"></mat-hint>

这确实将值绑定到mat-hint,但锚链接不起作用。知道如何实现这一目标吗?

如果我使用下面的代码

<mat-hint>
  {{anchorValue}}
</mat-hint>

我得到以下输出

【问题讨论】:

  • 这行不通。为什么你使用innerHTML 而不是仅仅将a 标签放在mat-h​​int 标签内?

标签: angular typescript angular8 angular10 angular11


【解决方案1】:

innerHTML 不会正确设置角度绑定。只需将其放在mat-hint 标签内即可:

<mat-hint>
  <a [routerLink]="['../category/new ']" [queryParams]="{ query: 'category' }" routerLinkActive = "router-link-active"> Add category</a>
</mat-hint>

根据需要使用ngIf 或ngSwitch 指令来修改模板。

【讨论】:

  • 好吧,我使用了你提到的代码,面对问题更新的问题
  • [routerLink]="['../category/new ']" 和 [queryParams]="{ query: 'category' }" 是动态的。这不应该是硬代码。有时在 上只会有文本而不是 HTML 内容
  • 然后动态绑定到它们[routerlink]="anchorLink" 并适当地使用ngIf 或ngSwitch 指令来修改模板。如果你展示你真正想要完成的事情,你可以获得更完整的答案。
  • 嗯, 有时可能只接收纯文本,不一定总是接收 。所以使用 ngIf 和 ngSwitch 没有意义
  • 如果ngIf 可能会清楚地显示锚标记,那么使用它是有好处的。同样,如果您向我展示您实际想要完成的工作,您可以获得更完整的答案。但是您不能使用 innerHTML 绑定使角度绑定正常工作
猜你喜欢
  • 1970-01-01
  • 2018-08-30
  • 2020-03-08
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多