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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du Sie noch nicht komplett eingerichtet, Ihre Bindungen richtig. Sie können gehen wieder die Argumente aus der Richtlinie zu den übergeordneten controller über eine Schlüssel-Wert-Karte. Nach der Winkel-docs (Hervorhebung von mir):
Also das bedeutet, dass in Ihrem Konsum HTML Sie benötigen, um Parameter hinzufügen:
Und dann in der Richtlinie:
InformationsquelleAutor ryanyuyu
Meiner Meinung nach sollte man es so machen :
In Ihre HTML-Seite :
In Ihrer Richtlinie :
Aber ich bin nicht sur was ist der Sinn Ihrer Frage.
InformationsquelleAutor Tako