Первый метод -
Вы можете передать varibale в качестве имени метода, используя скобочную нотацию, подобную этой -
<a (click)="this[action]()">
Login
</a>
Второй метод-
(click)
событие всегда ожидает functionName()
в качестве значения.
В вашем сценарии вы можете добавить динамический eventListner
для прослушивания вашей функции, используя @viewChild
вот так -
<a #myEvent (click)="action">
Login
</a>
@ViewChild('myEvent') myEvent: ElementRef;
ngAfterViewInit() {
(this.myEvent.nativeElement as HTMLElement).addEventListener('click', this.login.bind(this));
// Here you can bind to any method
}
login() {
console.log('login !');
}