【问题标题】:How can I add elements with an (click) function in Angular per code?如何在每个代码中使用 Angular 中的(单击)功能添加元素?
【发布时间】:2020-02-27 21:27:15
【问题描述】:

我正在寻找一种在 Angular 每个 Typescript 代码中添加元素的方法。问题是,这些元素应该具有(点击)功能,而我不知道应该添加多少这些元素(例如,具有任何范围的 for 循环应该创建任意数量的元素)。

textausgabe.innerHTML += '<div (click)="caller()"'>click</div>';

这正确地创建了元素,但如果我点击它,什么都不会发生。

你知道解决我问题的方法吗,请告诉我如何:)

【问题讨论】:

    标签: angular typescript function onclick innerhtml


    【解决方案1】:

    您不应该在 Angular 中执行此操作。在您的 ts 文件中添加一个数组并使用 *ngFor 在模板中循环该数组。然后,在您的 (click) 处理程序中,您可以将一个元素附加到该数组。 *ngFor 将负责为您创建该元素。

    template.html

    <div *ngFor="let element of elements" (click)="caller()">click</div>
    <button (click)="appendElement()">Append Element</button>
    

    component.ts

    @Component({...})
    export class MyComponent {
       public elements:Array<unknown> = [];
    
       public appendElement():void {
          this.elements = [...this.elements, this.elements.length + 1]; // Just append anything, since you are not using the values otherwise, appending a generic ID here
       }
    
       public caller():void {
          // Do whatever you want when your appended elements are clicked
       }
    }
    

    这里是一个有效的StackBlitz

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-01
      • 2019-03-18
      • 2019-08-02
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多