如何处理angular4中组件上的所有点击?

如何处理angular4中组件上的所有点击?,angular,Angular,我想用一种方法处理组件上的所有点击。 我怎么能这么做 我有一个表示单个表行的组件,其模板如下所示 <td style="text-align: right;">{{item.id}}</td> <td style="text-align: right;">{{item.name}}</td> <td style="text-align: right;">{{item.amount}}</td> {{item.id} {{i

我想用一种方法处理组件上的所有点击。 我怎么能这么做

我有一个表示单个表行的组件,其模板如下所示

<td style="text-align: right;">{{item.id}}</td>
<td style="text-align: right;">{{item.name}}</td>
<td style="text-align: right;">{{item.amount}}</td>
{{item.id}
{{item.name}
{{item.amount}}
我想捕捉任何地方(任何td)可能发生的所有点击。我怎么能这么做

父模板是

<table>
  <tbody>
    <ng-template ngFor let-item [ngForOf]="itemsCollection">
      <app-tr [item]="item" style="display: table-row"></app-tr>
    </ng-template>
  </tbody>
</table>


我可以将
(单击)=“someParentMethod($event)”
添加到父模板中,但我希望通过子组件处理事件。

将此代码添加到您的app tr components类中

@HostListener('click', ['$event'])
myClickHandler(event) {...}

您还可以添加子组件的单击事件,并通过EventMiiter将事件从子组件发送到父组件

比如说

子组件

@Output onClick: EventEmiiter<any> = new EventEmiiter();

onclicking(){
this.onClick.emit('pass here you want');
}
@Output onClick:eventemiter=neweventemiter();
onclicking(){
this.onClick.emit('pass here you want');
}

@D.S.很高兴听到这个消息