Вы получаете массив, потому что каждый элемент в главном списке имеет свойство service
и свойство id
как массив, поэтому для заполнения списка опций вам необходимо использовать следующее:
ng-options="item.id[0] as item.service[0] for item in items.List"
Я сохранил список элементов в контроллере, используя $scope.items
, и я ссылаюсь на него, используя ... in items.List
в директиве ngOptions
.
Значение каждого <option>
и заголовка / метки в элементе <select>
задается с помощью item.id[0] as item.service[0] for item
- он выбирает первый элемент в каждом из массивов service
и id
для каждого из параметров .
Вот рабочий пример:
angular.module('app', []).controller('ctrl', function($scope) {
$scope.items = {"List": [
{
"service": [
"one"
],
"id": [
1
]
},
{
"service": [
"two"
],
"id": [
2
]
}
]};
$scope.selectionChanged = function(value) {
console.log(value);
};
// You can also define a pre-selected option by uncommenting the following line
// $scope.selected = 2;
});
Selected: