我想为点击的每个元素运行一个函数。这是目前的情况:
<!-- 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
- 函数。目前它在父组件中触发。我怎么能按照我想要的方式完成这项工作?
答案 0 :(得分:5)
这应该在子组件上使用模板变量,并使用此变量引用它:
<template ngFor let-myData [ngForOf]="getMyData()">
<tr [item]="myData" #child (click)="child.toggleActive($event)" child-component>
</template>