У меня есть следующие Object
в TypeScript
определении некоторых вариантов в <select>
с помощью ng-options
:ngOptions с использованием основного выражения обеспечивая нечетное вынесенное значение
$scope.sOptions = [
{
name: "Female"
},
{
name: "Male"
}];
я предоставить следующий за ng-options
к AngularJS
:
ng-options="opt.name for opt in sOptions"
Это фактически работает, за исключением того факта, что согласно документации для ng-option
, value
должен быть просто счетчиком циклов при построении элементов <option>
. Однако я вижу следующие визуализации:
<option value="?" selected="selected"></option>
<option label="Female" value="object:6">Female</option>
<option label="Male" value="object:7">Male</option>
Что я ожидал увидеть что-то вроде следующего:
<option value="0" selected="selected"></option>
<option label="Female" value="1">Female</option>
<option label="Male" value="2">Male</option>
Что я делаю неправильно, чтобы эти нечетные значения производятся для value
из элемент <option>
?
EDIT: После прочтения правильного ответа при условии, этот другой пост идет в подробность о подобной проблеме, а также как использовать track by
для этого требования: https://stackoverflow.com/a/30292209/410937
Это происходит потому, что ваш выбранный список i s массив объектов, а не массив примитивов. Есть несколько путей решения этой проблемы, но самым прямым путем было бы предоставление массива строк, если вам не нужны другие значения в этом объекте, которые вы не показываете. – Claies