Festlegen des Wertattributs in den ng-Optionen von AngularJS
Eine häufige Herausforderung für AngularJS-Entwickler ist das Festlegen der Werteigenschaft bei der Verwendung von ng -options-Direktive zum Füllen eines Select-Tags. Während die Dokumentation mehrdeutig erscheinen mag, liegt die Lösung im Verständnisausdruck.
ngOptions-Syntax
Wie in der AngularJS-Dokumentation angegeben, akzeptiert ngOptions einen Verständnisausdruck in einem der Folgende Formate:
Array-Daten Quellen:
Objektdatenquellen:
Wert für Array-Datenquellen festlegen
In Ihrem Fall, wo Sie ein Array von Objekten mit den Eigenschaften „Wert“ und „Text“ haben, der entsprechende Verständnisausdruck zum Festlegen des Wertattributs ist:
<select ng-options="obj.value as obj.text for obj in array"></select>
Verwendung des Ausdrucks „track by“
In den letzten Aktualisierungen von AngularJS kann ein „track by“-Ausdruck verwendet werden, um den Wert explizit festzulegen des Wertattributs des ausgewählten Elements:
<select ng-options="obj.text for obj in array track by obj.value"></select>
Speicher Hilfe
Um sich diese komplexe Syntax leichter merken zu können, betrachten Sie sie als eine Erweiterung des Listenverständnisses von Python. Daher folgt es dem Format:
label as value for item in collection track by trackexpr
Zum Beispiel sind die folgenden Ausdrücke Äquivalente:
my_list = [x**2 for x in [1, 2, 3, 4, 5]] person.name for person in people
obj.value as obj.text for obj in array person as person.name for person in people
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie lege ich das Wertattribut in den ng-Optionen von AngularJS fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!