我正在尝试创建一个角度组件制造商,我希望能够为该组件动态生成 HTML 代码。我已经尝试过了,但我找不到在 HTML 代码中动态设置元素类型的方法。
import {Component, Input} from '@angular/core';
export class BaseComponent<K extends HTMLElement> {
public type: K;
public classes: string[] = [];
public style = {};
public childNodes: BaseComponent<HTMLElement>[];
}
@Component({
selector: 'base-component',
template: `
<<my component.type here> [ngClass]="this.component.classes" [ngStyle]="this.component.style" ]>
<base-component *ngFor="let child of component.childNodes" [component]="child"></base-component>
</<my component.type here>>
`
})
export class GraphicalComponent {
@Input()
public component: BaseComponent<HTMLElement>;
}
但是我没有找到任何方法在 dom 中正确注入我的 k 类型元素,除非我使用 document.createElement 函数,这在基于角度参考的程序中没有真正意义