我看过,无法找到我正在寻找的东西。我找到了使用DynamicComponentLoader,ComponentResolver和ComponentFactoryResolver的示例,但还没找到我正在寻找的内容。
我可以使用已知模板构建一个组件(* ngFor ="让obj of arr")但是如何使用存储/注入到视图/变量的组件来呈现页面呢?
例如:
@Component({
template : '{{html}} or <div [innerHTML]="html"></div>'
})
ngOnInit(){
// simulate getting content from api/database
this.html = `<div>testing <somecomponent></somecomponent></div>`;
// ideally, get content from api/database
// var path = 'some/path';
// myhttpservice.get(path).subscribe((res:any)=>{
// this.html = res.html;
// });
}
我无法获得上述代码来渲染&#34;某些组件&#34;。我尝试了很多方法使用SafeHtml,ng-content,[innerHTML] =&#34; var&#34;等等。没有多汁。
有什么想法吗?我发现有一篇帖子说它不可能......我觉得这是一个挑战。
这种类型的代码有效,但它又是MyComponent中的已知模板:
const factory = this.componentFactoryResolver.resolveComponentFactory(MyComponent);
const ref = this.viewContainerRef.createComponent(factory);
也许我需要覆盖组件模板(在&#39; factory&#39;内),并更新本地html变量?
任何人有任何想法/解决方案吗?