Angular2:如何在加载页面后使用Angular指令解析html

时间:2016-06-07 10:03:59

标签: javascript html angularjs dom angular

我有一个组件在页面加载后获得一些内容。内容有时包含超链接,我将其更改为使用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>

锚标记不会呈现为超链接。

如果有人能指出我正确的方向,那就太好了。感谢

1 个答案:

答案 0 :(得分:0)

您是否尝试使用标志(使用* ngIf)?由于您绕过了角度模板,因此不会处理html。您还需要导入路由器指令。

import {ROUTER_DIRECTIVES} from '@angular/router-deprecated';
...
@Component({
    directives: [ROUTER_DIRECTIVES],
...

你应该看一下Plunker https://plnkr.co/edit/ekkB3F?p=preview上的用例的小型演示。