(点击)事件不能在字符串角4中工作

时间:2018-02-15 18:41:21

标签: html angular typescript

当我点击标签a时,我的功能不会打电话 我有我的组件中的下一个代码

public htmlstr: string;
public idUser:number;

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

public delete(idUser){
    alert("id " + idUser);
}

my html

<div [innerHTML]="htmlstr"></div>

但功能删除不会调用而不会显示提醒

4 个答案:

答案 0 :(得分:0)

角度字符串插值括号在这样的变量中不起作用。

你可以使用template literals(注意反引号,而不是单引号):

this.iduser = `<a style="font-weight: bold;"> id: ${idperson} </a>`

String.format

this.iduser = '<a style="font-weight: bold;"> id: {} </a>'.format(idperson)

答案 1 :(得分:0)

您正在使用Angular 4,为什么不简单地使用插值?

您的代码看起来像这样:

idLabel = 'id: ';
id: number;

然后你的模板看起来像这样:

<span>
  <a style="font-weight:bold;" href="#">{{idLabel + id}}</a>
</span>

理想情况下,如果您使用路由器进行此链接,您可以将routerLink diractive附加到锚标记,如下所示:

<a style="font-weight:bold;" [routerLink]="'/user/' + id"></a>

......或者你的路线配置是什么样的。

答案 2 :(得分:0)

试试这个:

for (row in 13:(nrow(dax.p)-1))

请注意,我使用反引号,没有简单的引用。结果将是:

    this.idperson = 1;
    this.iduser = `<a style='font-weight: bold;'> id: ${idperson} </a>`;

答案 3 :(得分:0)

如果您使用AOT,可能就像将该功能公开一样简单吗?

还要检查浏览器的控制台是否有错误