Nested Components created on the fly in Angular
我有这个 plunker 示例 https://embed.plnkr.co/RtZvxv2rPFpLPZGndS0g/ 我有两个动态创建的组件:ContentComponent 和 HeaderComponent。我想像这样在 ContentComponent 模板中引用 HeaderComponent 选择器:
1 2 3 4 | ngOnInit() { this.template ="This is the {{ name }}</app-header>"; this.compileTemplate(); } |
不幸的是,这不起作用,编译器抱怨:app-header 不是已知元素。
有人知道如何解决这个问题吗?是否有另一种方法可以获得相同的最终结果?
Angular 找不到
要解决它,您可以创建声明和导出
的
1 2 3 4 5 | @NgModule({ declarations: [ HeaderComponent], exports: [HeaderComponent] }) export class SharedModule { } |
最后只需将其导入您的动态模块
1 2 3 4 5 | @NgModule({ declarations: [decoratedCmp], imports: [SharedModule] <============ this line }) class RuntimeContentModule { } |
Plunker 示例