Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge

Sie sind hier: Startseite / Tech-Blog / AngularJS: In einem controller einer directive mit isolated scope auf Methoden im parent scope zugreifen

AngularJS: In einem controller einer directive mit isolated scope auf Methoden im parent scope zugreifen

Man kann den scope einer directive vom Rest isolieren, was viele Vorteile hat, wenn man diese wiederverndbar machen möchte. Aber manchmal möchte man aus dieser directive oder dessen controller auf Methoden oder Variablen der parents zugreifen.

Um in einer directive auf Methoden und Variablen zuzugreifen, kann man für diese ein Mapping erstellen: http://www.undefinednull.com/2014/02/11/mastering-the-scope-of-a-directive-in-angularjs/

Will man aber in einem der directive zugewiesenen controller auf Methoden im parent scope zugreifen, kann man dies wie folgt machen.

Im controller der directive mappen wir unsere parent-Methode wie folgt:

$scope.toggleSomeThing =
   $scope.$parent.toggleSomeThing;

Nun können wir im Template der directive darauf zugreifen:

<button ng-click="toggleSomeThing(element)"></button
abgelegt unter: ,