(点击)事件在innerHtml字符串Angular 4中不起作用

eri*_*rri 5 html typescript angular

当我点击<a...标签时,我的函数没有被调用。

我的组件中有以下代码:

public htmlstr: string;
public idUser:number;

this.idUser = 1;
this.htmlstr = `<a (click)="delete(idUser)">${idUser}</a>`;

public delete(idUser){
    alert("id " + idUser);
}
Run Code Online (Sandbox Code Playgroud)

我的html

<div [innerHTML]="htmlstr"></div>
Run Code Online (Sandbox Code Playgroud)

但该函数delete未被调用且不显示警报。

<div...是动态创建

Khu*_*ari 13

如果有人面临同样的问题,最重要的是回答不起作用,请尝试我的技巧:

在 HTML 中:

<button onclick="Window.myComponent.test()"> test </button>
Run Code Online (Sandbox Code Playgroud)

在组件中:

class 
  constructor(){
    Window["myComponent"] = this;
  }


  test(){
    console.log("testing");
  }
Run Code Online (Sandbox Code Playgroud)


小智 0

我不经常使用 [innerHTML],但看起来您正在使用的模板字符串<a (click)="delete(idUser)">${idUser}</a>正在引用${idUser}您可能想要的意思${this.idUser}