J'essaie d'obtenir la boîte de sélection pour commencer avec une option pré-remplie en utilisant ng-repeat avec AngularJS 1.1.5. Au lieu de cela, la sélection commence toujours par rien de sélectionné. Il a également une option vide, dont je ne veux pas. Je pense qu'il y a un effet secondaire du fait que rien n'est sélectionné.
Je peux faire fonctionner cela en utilisant ng-options au lieu de ng-repeat, mais je veux utiliser ng-repeat pour ce cas. Bien que mon exemple réduit ne le montre pas, je souhaite également définir l'attribut title de chaque option, et il n'y a aucun moyen de le faire en utilisant ng-options, pour autant que je sache.
Je ne pense pas que cela soit lié au problème commun de portée / héritage prototypique AngularJs. Au moins, je ne vois rien d'évident lors de l'inspection à Batarang. De plus, lorsque vous choisissez une option dans la sélection avec l'interface utilisateur, le modèle se met à jour correctement.
Voici le 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>
Et le JavaScript:
function AppCtrl($scope) {
    $scope.filterCondition={
        operator: 'eq'
    }
    $scope.operators = [
        {value: 'eq', displayName: 'equals'},
        {value: 'neq', displayName: 'not equal'}
     ]
}
JS Fiddle pour cela: http://jsfiddle.net/coverbeck/FxM3B/2/