Greifen Sie auf globale Variable von AngularJS zu

8

Ich möchte ein Angular-Modell mit einem JSON-Objekt initialisieren, das in eine HTML-Seite eingebettet ist. Beispiel:

%Vor%

Das Feld tags kann nicht aufgelöst werden, weil es in $scope nachgeschlagen wird. Ich habe versucht, auf das Feld tags in meinem Controller wie folgt zuzugreifen:

%Vor%

Aber es funktioniert nicht.

Es funktioniert nur, wenn ich TagList direkt in die HTML-Seite einfüge und den json direkt in diese Funktion rende.

Wie kann ich auf das tags -Feld in einer separaten js-Datei in einem Angular-Controller zugreifen?

    
deamon 07.03.2013, 15:32
quelle

1 Antwort

11

Es gibt mindestens zwei Möglichkeiten:

  1. Deklarieren Sie Ihr tags -Array in einem eigenständigen Skript-Tag. In diesem Fall wird Ihre tags -Variable an das window-Objekt gebunden. Injector $ Fenster in Ihren Controller, um auf Ihre fenstergebundenen Variablen zuzugreifen.
  2. Deklarieren Sie Ihr tags -Array in der ng-init -Direktive.

Zeige beide Lösungen:

HTML:

%Vor%

JS:

%Vor%

Plnkr

Ich rate dringend von verschmutzenden Fensterobjekt.

    
Stewie 07.03.2013 15:46
quelle

Tags und Links