Angulaire: pour Lier la fonction de rappel à l'aide de & et de les passer en arguments

J'ai un (simplifié) de la directive

angular.module('myApp')
   .directive('myButton', function () {
        return {
            restrict: 'E',
            scope: {
                callbackFn: '&'
            },
            template: '<button ng-click=ca;;backFn($evenb)'
        }
   });

Maintenant, dans certains contrôleur de parent, j'ai défini une fonction de rappel:

this.myCallback = function ($event) {
    this.doIt($event);
}

et le code HTML:

<my-button callback-fn="page.myCallback()"></my-button>

(Je suis en utilisant des choses comme bindToController et controllerAs)

Le problème est que le $event est jamais passé à myCallback, qui a probablement à voir avec la façon dont je la lie de cette fonction (&). Mais d'un autre côté, à l'intérieur de myCallback je voudrais utiliser this.

Est-il un moyen de résoudre ce problème ? sans faire les choses comme

var self = this;
this.myCallback = function ($event) {
     self.doIt($event);
}

OriginalL'auteur Jeanluca Scaljeri | 2015-10-21