Ich habe Probleme zu verstehen, wie ng-options mit einer Datenquelle funktioniert. Ich habe die Dokumentation gelesen und habe das Gefühl, dass ich genau das tue, was erforderlich ist, aber ich bekomme immer noch Probleme, wenn ich es versuche.
<!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>
Ich bekomme immer diesen Fehler in der Konsole:
Error:
Erwartete ngOptions in Form von ' select (as label )? für ( Schlüssel ,)? Wert in collection (verfolgen mit expr )? ' aber habe 'k als v für (k, v) in Typen'.
Was mache ich falsch?
Sehen Sie plunkr hier:
Das ist etwas seltsam, aber es scheint, als müssten Sie nach for
ein Leerzeichen einfügen. Das funktioniert:
<select ng-model="type" ng-options="k as v for (k, v) in types">
<option value="">Select Type</option>
</select>