Quiero crear una directiva que se vincule a un atributo. El atributo especifica la función que debe llamarse en el ámbito. Pero también quiero pasar un argumento a la función que se determina dentro de la función de enlace.
<div my-method='theMethodToBeCalled'></div>
En la función de enlace, me vinculo a un evento jQuery, que pasa un argumento que necesito pasar a la función:
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); };
}
Sin pasar la identificación, puedo hacer que funcione, pero tan pronto como intento pasar un argumento, la función ya no se llama