Auswahl mit AngularJS und ng-repeat initialisieren

Ich versuche, die Auswahlbox mit einer vorgefüllten Option zu starten, indem ich ng-repeat mit AngularJS 1.1.5 verwende. Stattdessen beginnt die Auswahl immer mit nichts ausgewählt. Es gibt auch eine leere Option, die ich nicht möchte. Ich denke, dass es einen Nebeneffekt gibt, wenn nichts ausgewählt wird.

Ich kann dies unter Verwendung von ng-options anstelle von ng-repeat zum Laufen bringen, aber ich möchte für diesen Fall ng-repeat verwenden. Obwohl mein eingegrenztes Beispiel dies nicht zeigt, möchte ich auch das title-Attribut für jede Option festlegen. Soweit ich weiß, gibt es keine Möglichkeit, dies mit ng-options zu tun.

Ich glaube nicht, dass dies mit dem allgemeinen Problem von Angulars Umfang / prototypischer Vererbung zusammenhängt. Zumindest sehe ich bei der Inspektion in Batarang nichts Offensichtliches. Wenn Sie in der Auswahl über die Benutzeroberfläche eine Option auswählen, wird das Modell außerdem korrekt aktualisiert.

Hier ist das 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/

Antworten auf die Frage(6)

Ihre Antwort auf die Frage