Не удается получить доступ к параметрам ng-options внутри ng-repeat

Я хотел бы иметь доступ к набору параметров выбора в ng-options внутри ng-repeat, но ng-repeat создает новую область, в которой я больше не могу получить к ней доступ. Есть ли способ обойти это, не добавляя его к повторяющимся данным?

<body ng-controller="mainCtrl" class="container">
    <test repeater="repeater"></test>
</body>

Шаблон:

<div ng-repeat="repeat in repeater">
    <span>{{repeat.type}}</span>
    <select ng-options="value for value in options">
         <option value="">Choose one:</option>
    </select>
</div>

JS:

angular.module('app').controller('mainCtrl', function($scope) {
  $scope.repeater = [
    {
      type: 'best'
    },
    {
      type: 'worst'
    },
    {
      type: 'ok'
    }
  ];
});

angular.module('app').directive('test', function() {
  return {
    scope: {
      repeater: '='
    },
    templateUrl: 'test.html',
    controller: function($scope) {
      $scope.options = ['Nope', 'Yup', 'Sure'];
    }
  };
});

Планкер




Ответы (1)


Вы близки, но упускаете 1 вещь. ng-model

<select ng-model="selectedOption" ng-options="value for value in options">
     <option value="">Choose one:</option>
</select>
person HankScorpio    schedule 12.03.2015
comment
Правильно, ng-model требуется с ng-options. Однако вам не нужно label as. - person Joao; 13.03.2015
comment
Ах, ты прав. Не знаю, почему я думал, что это необходимо. - person HankScorpio; 13.03.2015