Sto cercando di ottenere la casella di selezione per iniziare con un'opzione pre-riempita utilizzando ng-repeat con AngularJS 1.1.5. Invece la selezione inizia sempre con niente selezionato. Ha anche un'opzione vuota, che non voglio. Penso che ci sia un effetto collaterale di non essere selezionato nulla.
Posso farlo funzionare usando ng-options invece di ng-repeat, ma voglio usare ng-repeat per questo caso. Sebbene il mio esempio ristretto non lo mostri, voglio anche impostare l'attributo title di ciascuna opzione e non c'è modo di farlo usando ng-options, per quanto ne so.
Non penso che questo sia legato al comune ambito di AngularJs / problema ereditario prototipico. Almeno non vedo nulla di ovvio quando ispeziono a Batarang. Inoltre, quando si seleziona un'opzione nella selezione con l'interfaccia utente, il modello si aggiorna correttamente.
Ecco l'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>
E il JavaScript:
function AppCtrl($scope) {
$scope.filterCondition={
operator: 'eq'
}
$scope.operators = [
{value: 'eq', displayName: 'equals'},
{value: 'neq', displayName: 'not equal'}
]
}
JS Fiddle per questo: http://jsfiddle.net/coverbeck/FxM3B/2/