angularjs directive call function specified in attribute and pass an argument to it

Marko’s solution works well.

To contrast with recommended Angular way (as shown by treeface’s plunkr) is to use a callback expression which does not require defining the expressionHandler. In marko’s example change:

In template

<div my-method="theMethodToBeCalled(myParam)"></div>

In directive link function

$(element).click(function( e, rowid ) {
  scope.method({myParam: id});
});

This does have one disadvantage compared to marko’s solution – on first load theMethodToBeCalled function will be invoked with myParam === undefined.

A working exampe can be found at @treeface Plunker

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)