我试图让选择框开始使用 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 Fiddle 为此:http : //jsfiddle.net/coverbeck/FxM3B/2/