具有功能RouterLink的Angular2动态HTML

Rez*_*baf 7 angular2-directives angular2-template angular2-routing angular

长期的用户,第一次提问的人!我一直试图在两天的大部分时间内弄清这一点,但无济于事,所以我们开始吧。

从Angular2的外部源动态编译的模板?

我正在使用http从WordPress API获取HTML形式的页面内容。所以我有一个像这样的模板:

    <div [innerHTML] =“ contentHTML”> </ div>

而“ contentHTML”是组件中的字符串变量,并通过API调用异步分配了一个值,如下所示:

    <a routerLink="/help/faq.html"> </a>

我希望该routerLink能够正常工作。当然,routerLink可以是模板中有效的任何东西。

如果上述不可能

如果上述方法不起作用,那么如何解释传入的HTML并动态添加routerLink来替换标准href呢?

Dom*_*Dom 4

我遇到了同样的问题,我遵循了这个答案,但在导入DynamicComponentModule 的代码中添加了一个简单的修改,但添加了导入: [RouterModule]

因此,安装ng-dynamic 的步骤如下:

npm install --save ng-dynamic
Run Code Online (Sandbox Code Playgroud)

然后使用以下导入和代码:

import { DynamicComponentModule } from 'ng-dynamic';

@NgModule({
   imports: [
       ...
       DynamicComponentModule.forRoot({imports: [RouterModule]}),
       ...
   ],
   ...
})
export class AppModule {} 
Run Code Online (Sandbox Code Playgroud)

然后代替:

<div [innerHTML]="contentHTML"> </div>
Run Code Online (Sandbox Code Playgroud)

使用:

<div *dynamicComponent="contentHTML"></div>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!