pary klucz-wartość w opcjach ng
Potrzebuję tablicy asocjacyjnej jako źródła danych dla moich opcji select
przy użyciu AngularJS.
Czy jest możliwe użycie takiej tablicy?
{
"key1": "val1",
"key2": "val2",
"key3": "val3",
...
}
I weź coś takiego:
<select>
<option value="key1">val1</option>
<option value="key2">val2</option>
<option value="key3">val3</option>
...
</select>
Czytałem dokumenty , ale nie mogę zrozumieć, jak to osiągnąć.
3 answers
Użycie ng-option
:
<select ng-model="blah" ng-options="key as value for (key , value) in data"></select>
Lub ng-repeat
:
<select>
<option ng-repeat="(key, value) in data" value="{{key}}">{{value}}</option>
</select>
Dane w kontrolerze:
$scope.data = {
"key1": "val1",
"key2": "val2",
"key3": "val3",
...
};
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-08 13:36:04
Poniższy artykuł omawia różne sposoby, które można użyć ngOptions (zdecydowanie najjaśniejsze, najbardziej dokładne wyjaśnienie, jakie kiedykolwiek widziałem): http://www.undefinednull.com/2014/08/11/a-brief-walk-through-of-the-ng-options-in-angularjs/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-02 12:43:18
Odpowiedź przezChen-Tsu Lin podaje obie drogi dostępu do obiektów. Po prostu chcę dodać jeszcze kilka linijek -
Ponieważ dyrektywa ng-repeat
powtarza blok kodu HTML dla każdego elementu w tablicy, może być używana do tworzenia opcji z listy rozwijanej, ale dyrektywa ng-options
została stworzona specjalnie do wypełniania listy rozwijanej opcjami i ma co najmniej jedną ważną zaletę:
Listy rozwijane wykonane za pomocą
ng-options
pozwalają na obiekt, podczas gdy lista rozwijana zng-repeat
musi być ciągiem znaków.
Dodanie przykładu dla odniesienia:
ng-repeat
: http://www.w3schools.com/angular/tryit.asp?filename=try_ng_select_repeat_selected
ng-options
: http://www.w3schools.com/angular/tryit.asp?filename=try_ng_select_object
Aby uzyskać pełne odniesienie, udaj się na http://www.w3schools.com/angular/angular_select.asp
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:59