无法在Angular的innerHTML中渲染routerLink

问题描述 投票:-1回答:1

在组件代码中,我有一个称为taggy的字段,其中包含完整的锚标签。首先,在HTML中,我将其呈现到屏幕上,这当然是行不通的,因为我只在逐字记录版本中看到了标签的内容。文字字面上是 hazaa

一个人在搜寻时发现了我的错误。我应该使用innerHTML。它可以工作,但是会导致浏览器重新加载,因为我们使用的是href而不是routerLink。自然,我更改了taggy的值,因此它说的是routerLink而不是href。但是,当我这样做时,它的工作原理有点不尽相同。在我的HTML中,我有以下内容。

{{taggy}}
<div [innerHTML]=taggy></div>
<div innerHTML=taggy></div>

这些都不产生有效的链接。最接近的是中间的一个,因为它创建了一个div,并在其中创建了一个锚点。但是,anchor标签上没有属性,它仅包含用户应阅读的文本。路由信息不见了。

该怎么办?

我已经找到a suggestion,但它并不是一个好方法(甚至作者也指出这不是最好的方法)。也有this,但在我的情况下无关紧要,因为我要将字符串传递给另一个组件。

html angular routing anchor innerhtml
1个回答
0
投票

您已经发现,由于Angular中的模板与组件捆绑在一起,因此您在Angular中无法使用动态模板。如果您想了解更多,请查看this issue on github。其结果是:动态模板将破坏AOT编译。

© www.soinside.com 2019 - 2024. All rights reserved.