web-dev-qa-db-ja.com

オブジェクトデータソースのngオプション

Ng-optionsがデータソースでどのように機能するかを理解するのに苦労しています。私はドキュメントを読んで、必要なことを正確にやっているように感じますが、それでも試行すると問題が発生します。

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

私はいつもコンソールでこのエラーを受け取ります:

エラー:

'select(aslabel)の形式のngOptionsが必要ですか? for(key、)?valueincollectionexpr)で追跡? 'しかし、「k as v for(k、v)in types」を取得しました。

私は間違って何をしていますか?

こちらのplunkrをご覧ください:

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

53
colefner

これはちょっと奇妙ですが、forの後にスペースを入れる必要があるようです。これは動作します:

<select ng-model="type" ng-options="k as v for (k, v) in types">
  <option value="">Select Type</option>
</select>
104