Я пытаюсь получить select-box, чтобы начать с предварительно заполненной опции, используя ng-repeat с AngularJS 1.1.5. Вместо этого выбор всегда начинается с ничего выбранного. У этого также есть пустая опция, которую я не хочу. Я думаю, что есть побочный эффект от того, что ничего не выбрано.
Я могу заставить эту работу использовать ng-options вместо ng-repeat, но я хочу использовать ng-repeat для этого случая. Хотя мой суженный пример не показывает его, я также хочу установить атрибут title для каждого параметра, и, насколько мне известно, нет способа сделать это с помощью ng-options.
Я не думаю, что это связано с общей проблемой AngularJs/prototypical inheritance. По крайней мере, я не вижу ничего очевидного при осмотре в Батаранге. Кроме того, когда вы выбираете опцию в выборе с помощью пользовательского интерфейса, модель действительно обновляется правильно.
Здесь HTML:
<body ng-app ng-controller="AppCtrl">
<div>
Operator is: {{filterCondition.operator}}
</div>
<select ng-model="filterCondition.operator">
<option
ng-repeat="operator in operators"
value="{{operator.value}}"
>
{{operator.displayName}}
</option>
</select>
</body>
И JavaScript:
function AppCtrl($scope) {
$scope.filterCondition={
operator: 'eq'
}
$scope.operators = [
{value: 'eq', displayName: 'equals'},
{value: 'neq', displayName: 'not equal'}
]
}
JS Fiddle для этого: http://jsfiddle.net/coverbeck/FxM3B/2/