Trabalho com o AngularJS há algumas semanas, e o que realmente me incomoda é que, mesmo depois de tentar todas as permutações ou a configuração definida na especificação em http://docs.angularjs.org/api/ng .directive: select , ainda recebo uma opção vazia como o primeiro filho do elemento select.
Aqui está o Jade:
select.span9(ng-model='form.type', required, ng-options='option.value as option.name for option in typeOptions');
Aqui o controlador:
$scope.typeOptions = [
{ name: 'Feature', value: 'feature' },
{ name: 'Bug', value: 'bug' },
{ name: 'Enhancement', value: 'enhancement' }
];
Finalmente, aqui está o HTML que é gerado:
<select ng-model="form.type" required="required" ng-options="option.value as option.name for option in typeOptions" class="span9 ng-pristine ng-invalid ng-invalid-required">
<option value="?" selected="selected"></option>
<option value="0">Feature</option>
<option value="1">Bug</option>
<option value="2">Enhancement</option>
</select>
O que preciso fazer para me livrar dele?
PS: As coisas funcionam sem isso também, mas parece estranho se você usar select2 sem seleção múltipla.