我试图让选择框从使用 ng-repeat 和 AngularJS 1.1.5 的预填充选项开始。相反,选择总是从没有选择任何内容开始。它还有一个空选项,我不想要。我认为没有任何选择会产生副作用。
我可以使用 ng-options 而不是 ng-repeat 来完成这项工作,但我想在这种情况下使用 ng-repeat。尽管我缩小的示例没有显示它,但我也想设置每个选项的标题属性,据我所知,使用 ng-options 无法做到这一点。
我认为这与常见的 AngularJs 范围/原型继承问题无关。至少我在 Batarang 检查时没有看到任何明显的东西。另外,当您在 UI 中选择一个选项时,模型会正确更新。
这是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 小提琴:http: //jsfiddle.net/coverbeck/FxM3B/2/