Ich möchte eine Direktive erstellen, die auf ein Attribut verweist. Das Attribut gibt die Funktion an, die für den Bereich aufgerufen werden soll. Ich möchte aber auch ein Argument an die Funktion übergeben, die innerhalb der Link-Funktion festgelegt ist.
<div my-method='theMethodToBeCalled'></div>
In der Link-Funktion binde ich an ein jQuery-Ereignis, das ein Argument übergibt, das ich an die Funktion übergeben muss:
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); };
}
Ohne die ID zu übergeben, kann ich es zum Laufen bringen, aber sobald ich versuche, ein Argument zu übergeben, wird die Funktion nicht mehr aufgerufen