J'ai du mal à comprendre comment ng-options fonctionne avec une source de données. J'ai lu les documents et je sens que je fais exactement ce qui est requis, mais j'ai toujours des problèmes à essayer.
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"> </script>
<link rel="stylesheet" href="style.css" />
<script type="text/javascript">
angular.module('app', [])
.controller('IndexCtrl', ['$scope', function($scope) {
$scope.types = {
1: "value1",
2: "value2",
5: "value3"
};
}]);
</script>
</head>
<body ng-controller="IndexCtrl">
<select ng-model="type" ng-options="k as v for(k, v) in types">
<option value="">Select Type</option>
</select>
</body>
</html>
J'ai toujours cette erreur dans la console:
Erreur:
NgOptions attendues sous la forme ', sélectionnez (en tant que label )? pour ( clé ,)? valeur dans collection (suivi de expr )? ' mais j'ai obtenu k comme v pour (k, v) dans les types '.
Qu'est-ce que je fais mal?
Voir plunkr ici:
C'est assez étrange, mais il semble que vous ayez besoin de mettre un espace après for
. Cela marche:
<select ng-model="type" ng-options="k as v for (k, v) in types">
<option value="">Select Type</option>
</select>