Я пытаюсь заставить select-box начать с предварительно заполненной опции, используя ng-repeat с AngularJS 1.1.5. Вместо этого выбор всегда начинается без выбора. У него также есть пустой параметр, который я не хочу. Я думаю, что есть побочный эффект ничего не быть выбранным.
Я могу заставить это работать, используя ng-options вместо ng-repeat, но я хочу использовать ng-repeat для этого случая. Хотя мой суженный пример не показывает этого, я также хочу установить атрибут title каждого параметра, и, насколько я знаю, сделать это невозможно с помощью ng-options.
Я не думаю, что это связано с общей проблемой AngularJs / прототипического наследования. По крайней мере, я не вижу ничего очевидного при проверке в Батаранге. Плюс, когда вы выбираете опцию в select с пользовательским интерфейсом, модель обновляется правильно.
Вот 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/