Heim > Web-Frontend > js-Tutorial > Wie kann ich Variablen effektiv zwischen AngularJS-Controllern übergeben?

Wie kann ich Variablen effektiv zwischen AngularJS-Controllern übergeben?

DDD
Freigeben: 2024-12-02 01:32:14
Original
246 Leute haben es durchsucht

How Can I Effectively Pass Variables Between AngularJS Controllers?

Variablen zwischen AngularJS-Controllern übergeben

Variablen zwischen AngularJS-Controllern übergeben ist eine häufige Aufgabe in der Anwendungsentwicklung. Ein Ansatz besteht darin, einen Dienst zu erstellen, um Variablen zwischen Controllern zu teilen.

Erstellen eines gemeinsam genutzten Dienstes

angular.module('myApp', [])
    .service('sharedProperties', function () {
        var property = 'First';

        return {
            getProperty: function () {
                return property;
            },
            setProperty: function(value) {
                property = value;
            }
        };
    });
Nach dem Login kopieren

Verwenden des Dienstes

Fügen Sie in Controllern das Gemeinsame ein Service:

function Ctrl2($scope, sharedProperties) {
    $scope.prop2 = "Second";
    $scope.both = sharedProperties.getProperty() + $scope.prop2;
}
Nach dem Login kopieren

Überlegungen

Damit Bindungen über mehrere Controller hinweg funktionieren, ist es vorzuziehen, an die Eigenschaft eines Objekts zu binden und nicht an einen primitiven Typ.

// Avoid using primitive types
var property = 'First';

// Use objects
var property = { Property1: 'First' };
Nach dem Login kopieren

Beispiel

Siehe [dies fiddle](https://jsfiddle.net/philipjohnson/34qhw/) für ein Beispiel, das Folgendes demonstriert:

  • Bindung an statische Kopien gemeinsamer Werte
  • Bindung an geteilte Werte Werte, die die Benutzeroberfläche aktualisieren, wenn sich Werte ändern

    • Bindung an a Funktion
    • Bindung an die Eigenschaft eines Objekts
    • Zwei-Wege-Bindung an die Eigenschaft eines Objekts

Das obige ist der detaillierte Inhalt vonWie kann ich Variablen effektiv zwischen AngularJS-Controllern übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage