Search code examples
javascriptangularcomponentsdynamic-function

Dynamic function name in Angular 2 click event


While this answer is probably dead simple, I seem to be stuck. As an Angular 2 beginner, I have tried all possible combinations of {}, [] and () brackets to achieve the following:

<button (click)="this.action">Click me</button>

where:

this.action = "clickMe()"

i.e. it is a string, a name of the method in that component that should be executed on click.

Any ideas?


Solution

  • You can use square bracket syntax like

    (click)="this[action]()"
    

    where

    action="clickMe"