如何在运行时使用字符串生成Angular组件?

时间:2017-08-30 17:00:26

标签: angular typescript innerhtml ng-template

我在运行时从数据库中提取了一个与Angular选择器对应的属性。

this.stringSelector = "<app-hello></app-hello>";

这样渲染“Hello World”的最佳方法是什么?

<app-root>
  <app-hello></app-hello>
</app-root>

这仅适用于html标签,而不适用于Angular选择器:

<app-root>
  <div [innerHTML]="this.stringSelector | safe: 'html'"></div>
</app-root>

app-hello组件只做一件事:

@Component({
  selector: 'app-hello',
  template: `<h1>Hello World</h1>`
})
export class HelloComponent {
/* . . . */
}

1 个答案:

答案 0 :(得分:0)

Angular 6使用名为Angular Elements的新功能解决了这个问题。