The components are generated through an ngFor. The same click event handler is bound to all of them. I want to capture the Component on whom the user clicked inside the event handler as an argument.
Template
<div>
<app-my-component (click)="pageClicked(<sender>)" *ngFor="let page of pages"></app-my-component>
</div>
Code Behind
pageClicked(sender: MyComponent): void {
// sender would be the COMPONENT who called this function.
}
What I have already tried
- Making the component a template variable by giving it a name
#comp, I got an empty object - Using the
thiskeyword,thisin this context is the parent component, generating the smaller components via ngFor - Sending
$eventas a parameter and finding the component through thepath, I don't want the html element, I want the entire component and access to it's public Variables and Methods
Eventually after capturing the component, I'll want to set it's [selected] Input to true and clear the last selected component, which shouldn't be that hard if I can only get the component and store it in a local variable.
Maybe try: