AngularJS 1.1.5 で ng-repeat を使用して、事前に入力されたオプションから選択ボックスを開始しようとしています。代わりに、選択は常に何も選択されていない状態で開始されます。また、空のオプションもありますが、これは望ましくありません。何も選択されないという副作用があると思います。
ng-repeat の代わりに ng-options を使用してこれを機能させることができますが、この場合は 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/