Variablen zwischen AngularJS-Controllern übergeben
In AngularJS kann die Verwaltung des Datenflusses zwischen Controllern eine Herausforderung sein, insbesondere wenn sie nicht verschachtelt sind. So können Sie die gemeinsame Nutzung von Variablen zwischen Controllern erreichen:
Dienste nutzen
Dienste sind eine leistungsstarke Möglichkeit, Daten zwischen Komponenten auszutauschen. Erstellen Sie einen Dienst und injizieren Sie ihn in die Controller, die Zugriff auf die gemeinsam genutzten Variablen benötigen:
angular.module('myApp') .service('sharedProperties', function () { var property1 = 'First'; return { getProperty1: function () { return property1; }, setProperty1: function(value) { property1 = value; } }; });
Injizieren Sie den Dienst in Ihren Controller und verwenden Sie seine Methoden, um auf gemeinsam genutzte Variablen zuzugreifen und diese zu ändern:
function Ctrl2($scope, sharedProperties) { $scope.prop2 = 'Second'; $scope.both = sharedProperties.getProperty1() + $scope.prop2; }
Bindung an gemeinsame Werte
Für Echtzeitaktualisierungen gemeinsamer Werte zwischen Controllern können Sie eine Bindung an eine erstellen Objekteigenschaft anstelle eines primitiven Typs:
angular.module('myApp') .service('sharedProperties', function () { return { property1: { Property1: 'First' } }; });
Binden Sie in Ihrem Controller an die Objekteigenschaft anstelle des primitiven Werts:
function Ctrl2($scope, sharedProperties) { $scope.prop2 = 'Second'; $scope.both = sharedProperties.property1.Property1 + $scope.prop2; }
Tipps:
Das obige ist der detaillierte Inhalt vonWie kann ich Variablen effektiv zwischen unabhängigen AngularJS-Controllern teilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!