Aufruf einer controller-Funktion über einen link in einer Richtlinie
Schreibe ich eine Eckige 1.5.0-beta2-Projekt.
Möchte ich nennen, eine controller-Funktion aus dem link-Eigenschaft des zurückgegebenen Objekts.
was bedeutet...
angular.module('myalcoholist').directive("ngFileSelect",function() {
return {
controller: 'AddCoctailController',
controllerAs: 'addCocktail',
link: function ($scope, el) {
el.bind("change", function (e) {
var file = (e.srcElement || e.target).files[0];
/*THIS DOES NOT WORK */ addCocktail.getFile(file);
})
}
}
});
wie man hier sehen kann, ich versuche zum ausführen eines controller-Funktion getFile.
ist es überhaupt möglich ?
$scope.addCocktail
- hast du das ausprobiert?- ja. ich bin das hinzufügen der Funktionen auf den controller, nicht auf den Umfang
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie einen Winkel >= 1.3, verwenden Sie
bindToController
optioncodepen: http://codepen.io/gpincheiraa/pen/VeYxGN
Hinzufügen, um Chris ' s Antwort oben - link hat mehrere Parameter (scope, element, attrs, controller). Sie können den Zugriff auf die angeschlossenen Controller-Funktionen wie folgt:
Controller ist zum Auffüllen von $scope und link läuft nach der controller, so können Sie nur zugreifen, was ist auf Ihrem Umfang in link-Funktion.
Auch dies, SO Frage bezieht Winkel: Aufruf-controller-Funktion in eine Richtlinie-link-Funktion, mit &
Wenn man will Zugriff auf ein scope-Eigenschaft definiert wurde, die außerhalb der aktuellen Richtlinie Anwendungsbereich kommt es auf scope-Eigenschaft von "Domain-Definition-Objekt'.
Ref. https://github.com/angular/angular.js/wiki/Understanding-Scopes#javascript-prototypal-inheritance