wake-up-neo.com

ng-Optionen mit Objektdatenquelle

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:

http://plnkr.co/edit/Bl6u4151KyDkxhYrsdCm?p=preview

53
colefner

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>
104