Ich muss ein assoziatives Array als Datenquelle für meine select
Optionen mit AngularJS verwenden.
Ist es möglich, ein solches Array zu verwenden?
{
"key1": "val1",
"key2": "val2",
"key3": "val3",
...
}
und so etwas bekommen:
<select>
<option value="key1">val1</option>
<option value="key2">val2</option>
<option value="key3">val3</option>
...
</select>
Ich lese Dokumente , kann aber nicht verstehen, wie ich das erreichen kann.
javascript
angularjs
select
ng-options
Davioooh
quelle
quelle
ng-repeat
und Ihre Schlüssel / Werte sich nicht ändern, können Sie die 2 neuen Uhren, die @MarkusHay erwähnt, vermeiden, indem Sie die neue einmalige Bindungssyntax verwenden :<option ng-repeat="(key, value) in data" value="{{::key}}">{{::value}}</option>
ngOption
.ng-options
basierend auf gesehen,object
aber dies ist die beste .Der folgende Artikel beschreibt die verschiedenen Möglichkeiten, wie Sie ngOptions verwenden können (bei weitem die klarste und gründlichste Erklärung, die ich je gesehen habe): http://www.undefinednull.com/2014/08/11/a-brief-walk -durch-die-ng-Optionen-in-Winkeljs /
quelle
Die Antwort von Chen-Tsu Lin bietet tatsächlich beide Möglichkeiten, auf Objekte zuzugreifen. Ich möchte nur noch ein paar Zeilen hinzufügen -
Da die
ng-repeat
Direktive einen HTML-Codeblock für jedes Element in einem Array wiederholt, kann sie zum Erstellen von Optionen in einer Dropdown-Liste verwendet werden. Dieng-options
Direktive wurde jedoch speziell zum Füllen einer Dropdown-Liste mit Optionen erstellt und hat mindestens einen wichtigen Vorteil:Hinzufügen eines Beispiels für die Referenz:
ng-repeat
: http://www.w3schools.com/angular/tryit.asp?filename=try_ng_select_repeat_selectedng-options
: http://www.w3schools.com/angular/tryit.asp?filename=try_ng_select_objectEine vollständige Referenz finden Sie unter http://www.w3schools.com/angular/angular_select.asp
quelle