【发布时间】:2019-03-28 12:20:01
【问题描述】:
如何在运行时将 Angular html 元素添加到组件中。
让html元素是一个具有角度表达的H1标签。
<h1>{{testHeading}}</h1>
我想将此标签插入到组件中。坚持它的动态角度属性。 这里的“testHeading”是一个角度变量。
我正在尝试使用以下方法添加元素:
addComponent(component:any){
let componentRef = this.componentFactoryResolver
.resolveComponentFactory(component)
.create(this.injector);
this.appRef.attachView(componentRef.hostView);
const domElem = (componentRef.hostView as EmbeddedViewRef<any>)
.rootNodes[0] as HTMLElement;
var newcontent = document.createElement('div');
newcontent.innerHTML = `<h1>${this.demoText}</h1>`;
domElem.appendChild(newcontent);
document.getElementById("testid").appendChild(domElem);
}
【问题讨论】:
-
你应该使用动态组件加载器参考:angular.io/guide/dynamic-component-loader
标签: html angular components