用于选择框绑定到哈希的ng-options

时间:2014-06-30 20:59:00

标签: angularjs ng-options

我对如何使用AngularJS进行绑定感到困惑。我正在放一个< select>带有ng-model =“variable.type”的元素。我还有一个带有哈希表的$ scope.type变量。该哈希表的关键是variable.type。

所以基本上我希望选择框列出$ scope.type中的所有值,然后执行绑定,以便将variable.type链接到哈希表的键。我只是不确定如何指定ng-options来做到这一点。

<tr ng-repeat="variable in variables">
    <td>
        <select ng-model="variable.type" ng-options="????">
        </select>
    </td>
</tr>

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你基本上就会问如何将对象用作ng-options的数据源。如果$scope.type看起来像这样:

$scope.type = {
    "type1": { value: "value1" },
    "type2": { value: "value2" },
    "type3": { value: "value3" }
};

$ scope.variables看起来像这样:

$scope.variables = [
    {
      id: 1,
      name: "item1",
      type: "type1"
    },
    {
      id: 2,
      name: "item2",
      type: "type2"
    },
    {
      id: 3,
      name: "item3",
      type: "type3"
    }
];

然后你可以像这样绑定它:

<tr ng-repeat="variable in variables">
  <td>
    <select ng-model="variable.type" ng-options="key as vartype.value for (key, vartype) in type"></select>
  </td>
</tr>

Demo