Je veux créer une directive liée à un attribut. L'attribut spécifie la fonction qui doit être appelée sur la portée. Mais je veux aussi passer un argument à la fonction qui est déterminée dans la fonction de lien.
<div my-method='theMethodToBeCalled'></div>
Dans la fonction de lien, je me lie à un événement jQuery, qui transmet un argument que je dois transmettre à la fonction:
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); };
}
Sans passer l'identifiant, je peux le faire fonctionner, mais dès que j'essaye de passer un argument, la fonction n'est plus appelée