Heim >Web-Frontend >js-Tutorial >Wie lege ich das Wertattribut in den ng-Optionen von AngularJS fest?

Wie lege ich das Wertattribut in den ng-Optionen von AngularJS fest?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 15:22:02554Durchsuche

How to Set the Value Attribute in AngularJS' ng-options?

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:

    • Beschriftung für Wert im Array
    • Als Beschriftung für Wert im Array auswählen
    • Gruppe für Gruppe für Wert im Array beschriften
    • Als Beschriftung „Gruppe für Gruppe“ für den Wert im Array „Spur nach“ auswählen trackexpr
  • Objektdatenquellen:

    • Beschriftung für (Schlüssel, Wert) im Objekt
    • Als Beschriftung für (Schlüssel, Wert) im Objekt auswählen
    • Beschriftung Gruppe für Gruppe für (Schlüssel, Wert) in Objekt
    • Gruppe für Gruppe als Beschriftung für (Schlüssel, Wert) im Objekt auswählen

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 Schlüsselwort „as“ kann auch zum Festlegen des Beschriftungsattributs verwendet werden.
  • Festlegen beider Beschriftungen Mit den Wertattributen können Sie verschiedene Werte für die Anzeige und Formularübermittlung angeben.

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!

Stellungnahme:
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