2017-07-03 14 views
1

我想用一種方法處理組件上的所有點擊。 我該怎麼做?如何處理angular4中組件的所有點擊?

我有一個代表單個錶行的組成部分,它的模板看起來像

<td style="text-align: right;">{{item.id}}</td> 
<td style="text-align: right;">{{item.name}}</td> 
<td style="text-align: right;">{{item.amount}}</td> 

我想捕獲所有可能發生的任何地方(任何TD)的點擊次數。我怎麼能這樣做?

父模板是

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

我可以添加(click)="someParentMethod($event)"到父模板,但我想處理由子組件的事件。

回答

1

將此代碼添加到您的應用程序-TR組件類

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

謝謝很多,這完美的作品。 –

+0

@ D.S。很高興聽到 –

1

您還添加子組件的單擊事件,並從孩子通過EventEmiiter

發送事件於母公司例如

兒童組件

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

onclicking(){ 
this.onClick.emit('pass here you want'); 
} 
相關問題