Voglio creare una direttiva che colleghi a un attributo. L'attributo specifica la funzione che dovrebbe essere chiamata nell'ambito. Ma voglio anche passare un argomento alla funzione determinata all'interno della funzione di collegamento.
<div my-method='theMethodToBeCalled'></div>
Nella funzione link mi associo a un evento jQuery, che passa un argomento che devo passare alla funzione:
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); };
}
Senza passare l'id posso farlo funzionare, ma non appena provo a passare un argomento, la funzione non viene più chiamata