Использование ng-параметров для массива, объявленного в объекте

В моем контроллере у меня есть:

 $scope.sizes = {
    things: [
        'one',
        'two'
        ]
}

и в моем HTML у меня есть

  <select ng-options="thing for thing in sizes.things"></select>

Полученный комбинированный список не имеет значений. Однако в этом случае:

 $scope.things = ['one', 'two'];

  <select ng-options="thing for thing in things"></select>

В результате в выпадающем списке отображаются "один", "два". Может кто-нибудь объяснить, почему я не могу получить доступ к массиву внутри объекта $scope?

1 ответ

Решение

Вы скучали по ng-model атрибут вашего элемента выбора ng-options.

Добавление ng-model="thing" заставляет это работать...

<select ng-model="thing" ng-options="thing for thing in sizes.things"></select>

Вы можете увидеть рабочий пример здесь.

PS Это на самом деле не работает ни для массива, ни для объекта. Добавление ng-model Атрибут заставляет оба работать.

Другие вопросы по тегам