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/