如何在子组件中触发click事件?

时间:2016-05-27 07:45:01

标签: angular angular2-components

我想为点击的每个元素运行一个函数。这是目前的情况:

<!-- This is the parent-component -->
<template ngFor let-myData [ngForOf]="someData"> 
    <tr [item]="myData" (click)="toggleActive($event)" child-component>
</template>

子组件如下所示:

<td>{{ item.data1 }}</td>
<td>{{ item.data2 }}</td>
<td>{{ item.data3 }}</td>

每次单击tr,我都希望在我单击的子组件中触发toggleActive - 函数。目前它在父组件中触发。我怎么能按照我想要的方式完成这项工作?

1 个答案:

答案 0 :(得分:5)

这应该在子组件上使用模板变量,并使用此变量引用它:

<template ngFor let-myData [ngForOf]="getMyData()"> 
    <tr [item]="myData" #child (click)="child.toggleActive($event)" child-component>
</template>