2016-05-27 9 views
3

クリックした要素ごとに関数を実行したい。これが現在の状況です:子コンポーネントでクリックイベントを発生させるにはどうすればよいですか?

<!-- 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 -functionをしたいです。現時点では、親コンポーネントで発生します。私はこの仕事をどのようにして私が望むようにすることができますか?

答えて

5

これは、子コンポーネントにテンプレート変数を使用して動作し、この変数を使用して、それを参照する必要があります。

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