Chcę utworzyć dyrektywę, która łączy się z atrybutem. Atrybut określa funkcję, która powinna zostać wywołana w zakresie. Ale chcę również przekazać argument do funkcji, która jest określona w funkcji łącza.
<div my-method='theMethodToBeCalled'></div>
W funkcji link łączę się ze zdarzeniem jQuery, które przekazuje argument, który muszę przekazać do funkcji:
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); };
}
Bez przekazywania identyfikatora mogę sprawić, że zacznie działać, ale jak tylko spróbuję przekazać argument, funkcja nie jest już wywoływana