0

我正在尝试创建一个角度组件制造商,我希望能够为该组件动态生成 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 函数,这在基于角度参考的程序中没有真正意义

4

0 回答 0