Quero criar uma diretiva que vincule a um atributo. O atributo especifica a função que deve ser chamada no escopo. Mas também quero passar um argumento para a função que é determinada dentro da função de link.
<div my-method='theMethodToBeCalled'></div>
Na função de link, eu ligo a um evento jQuery, que passa um argumento que preciso passar para a função:
app.directive("myMethod",function($parse) {
restrict:'A',
link:function(scope,element,attrs) {
var expressionHandler = $parse(attrs.myMethod);
$(element).on('theEvent',function( e, rowid ) {
id = // some function called to determine id based on rowid
scope.$apply(function() {expressionHandler(id);});
}
}
}
app.controller("myController",function($scope) {
$scope.theMethodToBeCalled = function(id) { alert(id); };
}
Sem passar o id posso fazer funcionar, mas assim que tento passar um argumento, a função não é mais chamada