生成的表格单元格上的 Angular -(单击)事件

标签 angular

我一直在尝试在动态生成的表格中的单元格上添加(点击)事件。

HTMLtoAdd:any;
  @Input() roles:string;
  ngOnInit() {
    let alphabet = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
    let table = document.createElement('table');
    for (let i=0;i<10;i++){
      let newRow = document.createElement('tr');
      for (let j=0;j<10;j++) {
        let newCell = document.createElement('td');
        let cellId = alphabet[i]+j;
        newCell.setAttribute("id",cellId);
        newCell.setAttribute("(click)","alert(this.id)");
        newRow.appendChild(newCell);
      }
      table.appendChild(newRow);
    }
    this.HTMLtoAdd = table.outerHTML;
  };

当我这样做时,我得到这个错误:

'setAttribute' on 'Element': '(click)' is not a valid attribute name.

如果我需要生成该表,我该如何添加此事件?

如有需要,请随时询问更多详情。

最佳答案

我是这样解决的:

模板:

<table>
  <tr *ngFor="let row of columns">
    <td *ngFor="let cell of rows" (click)="log(row+cell)"></td>
  </tr>
</table>

组件:

columns:string[]=[];
  rows:number[]=[];
ngOnInit() {
    let gridSize = 10;
    for (let i=0; i<gridSize;i++){
      this.columns.push(String.fromCharCode(65+i));
    };
    for (let i=0; i<gridSize;i++){
      this.rows.push(i);
    }
  };

关于生成的表格单元格上的 Angular -(单击)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44541671/

相关文章:

Angular 4 确认指令

Angular 2 拖放

angular - karma 报应中的 lcov.info 文件, Angular 未生成

javascript - 如何在 angular2 typescript 中正确执行 "bind"?

Angular 9,滚动恢复/ anchor 滚动不适用于异步数据加载

javascript - 最小 Angular2 应用程序接收未处理的 Promise SystemJS 错误

angular - '可观察<对象 >' is not assignable to type ' 可观察<{ 用户 : any; }>'

javascript - Angular 8 解析器未解析

angular - 在 ng-container 中访问子组件变量

html - Angular:选择下拉列表中的最大选择