Winkel: Binden, callback-Funktion, die Verwendung von & und pass-Argumente

Habe ich eine (vereinfachte) Richtlinie

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

Nun, in einigen übergeordneten controller habe ich definiert eine callback-Funktion:

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

und HTML:

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

(Ich bin mit Dingen wie bindToController und controllerAs)

Das Problem ist, dass die $event ist nie übergeben myCallback ist, der wahrscheinlich damit zu tun, wie ich binden diese Funktion (&). Aber auf der anderen Seite, im inneren myCallback ich möchte this.

Gibt es eine Möglichkeit, dieses Problem zu beheben ? ohne Dinge zu tun, wie

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

InformationsquelleAutor Jeanluca Scaljeri | 2015-10-21

Schreibe einen Kommentar