Ich versuche, das Auswahlfeld dazu zu bringen, mit einer vorgefüllten Option zu beginnen, indem ng-repeat mit AngularJS 1.1.5 verwendet wird. Stattdessen beginnt die Auswahl immer mit nichts ausgewähltem. Es hat auch eine leere Option, die ich nicht will. Ich denke, dass es einen Nebeneffekt gibt, wenn nichts ausgewählt wird.
Ich kann dies mit ng-options anstelle von ng-repeat zum Laufen bringen, aber ich möchte ng-repeat für diesen Fall verwenden. Obwohl mein eingegrenztes Beispiel es nicht zeigt, möchte ich auch das title-Attribut jeder Option festlegen, und soweit ich weiß, gibt es keine Möglichkeit, dies mit ng-options zu tun.
Ich glaube nicht, dass dies mit dem allgemeinen AngularJs-Problem mit dem Umfang / der prototypischen Vererbung zusammenhängt. Zumindest sehe ich bei der Inspektion in Batarang nichts Offensichtliches. Wenn Sie in der Auswahl mit der Benutzeroberfläche eine Option auswählen, wird das Modell außerdem korrekt aktualisiert.
Hier ist der 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>
Und das JavaScript:
function AppCtrl($scope) {
$scope.filterCondition={
operator: 'eq'
}
$scope.operators = [
{value: 'eq', displayName: 'equals'},
{value: 'neq', displayName: 'not equal'}
]
}
JS Fiddle dafür: http://jsfiddle.net/coverbeck/FxM3B/2/