我有一个组件在页面加载后获得一些内容。内容有时包含超链接,我将其更改为使用Angular href
替换[routerLink]
属性。
我遇到的问题是,当它显示在页面上时,它不会被Angular编译,因此只是无用的HTML。
我已经看过使用普通html的[innerHtml]
,但它似乎没有编译[routerLink]
。以下是我试图测试的内容:
TS:
public addHtml() {
this.html = "<a [routerLink]=\"['Route']\">Route</a>";
}
HTML:
<button (click)="addHtml()">Add html</button>
<div [innerHtml]="html"></div>
输出HTML:
<div _ngcontent-oli-5=""><a [routerlink]="['Route']">Route</a></div>
锚标记不会呈现为超链接。
如果有人能指出我正确的方向,那就太好了。感谢
答案 0 :(得分:0)
您是否尝试使用标志(使用* ngIf)?由于您绕过了角度模板,因此不会处理html。您还需要导入路由器指令。
import {ROUTER_DIRECTIVES} from '@angular/router-deprecated';
...
@Component({
directives: [ROUTER_DIRECTIVES],
...
你应该看一下Plunker https://plnkr.co/edit/ekkB3F?p=preview上的用例的小型演示。