角度选择绑定字典

时间:2015-02-20 15:07:10

标签: javascript html angularjs

我尝试将a的选项绑定到字典:

<select ng-model="vm.incident.State" ng-options="key for (key,value) in vm.stateOptionSet" style="width: 250px;">

到目前为止一切正常,但是当我使用它时:

<select ng-model="vm.incident.State" ng-options="key as value for (key,value) in vm.stateOptionSet" style="width: 250px;">

Selectbox没有选择适合ng-model的条目。

有人能告诉我什么错了吗?

2 个答案:

答案 0 :(得分:1)

你的两个例子都有效。 看看我的例子:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="" ng-controller="customersController">
  <select ng-model="selection" ng-options="key for (key,value) in optionSet" style="width: 250px;"></select>
  <select ng-model="selection" ng-options="key as value for (key,value) in optionSet" style="width: 250px;"></select>
  <br />Selection: {{selection}}
</div>
<script>
  function customersController($scope) {
    $scope.selection = {};
    $scope.optionSet = {
      key1: "value1",
      key2: "value2"
    };
  }
</script>

也许您已经忘记了必须关闭您的选择标记。

答案 1 :(得分:0)

来自docs

  

使用select as会将select表达式的结果绑定到模型,但<select><option> html元素的值将是索引(对于数组数据源)或属性名称(对于对象数据源)集合中的值。如果使用track by表达式,则该表达式的结果将设置为选项的并选择元素。