ng-opciones con origen de datos de objeto


Estoy luchando para entender cómo ng-options funciona con una fuente de datos. He leído los documentos y siento que estoy haciendo exactamente lo que se requiere, pero todavía tengo problemas al intentar.

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

Siempre recibo este error en la consola:

Error:

NgOptions esperados en forma de ' seleccionar (como etiqueta)? for (key ,)? value in collection (track by expr )? pero tengo k como v para (k, v) en tipos".

¿Qué estoy haciendo incorrectamente?

Ver plunkr aquí:

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

Author: Mosh Feu, 2013-12-05

1 answers

Esto es un poco extraño, pero parece que necesitas poner un espacio después de for. Esto funciona:

<select ng-model="type" ng-options="k as v for (k, v) in types">
  <option value="">Select Type</option>
</select>
 100
Author: Jayantha Lal Sirisena,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-04 17:15:11