Angular 4动态添加单击事件

时间:2017-09-18 09:20:33

标签: javascript angular typescript

我需要动态地将click事件添加到div标签:

<div *ngIf="item.click">
    <div (click)="item.click" >{{item.name}} (should trigger( {{item.click}})</div>
</div>

我的对象如下:

item: {name: 'Action', click: '_actionService.triggerAction()'}

运行代码时没有出现任何错误,但似乎没有创建click事件。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

添加动态点击时,我没有看到任何问题。但是,您的商品应该是:

item: {name: 'Action', click: '_actionService.triggerAction'}

因此,项目中的click属性是函数而不是结果。 _actionService.triggerAction()&gt;&gt;&gt; _actionService.triggerAction

然后html应该是这样的:

<div (click)="item.click.call()" >

希望有帮助!

这是我尝试的实际代码:

组件:

 ... implements OnInit {

  public item: any = { name: 'name', click: () => { console.log('Some clcik has happened') } }

...

html:

<div (click)="item.click.call()"></div>