Angular ngOptions按对象键跟踪

时间:2016-09-20 10:18:50

标签: angularjs ng-options

我想用ngOptions创建一个select元素 - 到目前为止一直很好:

<select ng-options="currency for (code, currency) in currencies track by code"
        ng-model="something.currency"></select>

现在我想通过对象键跟踪选项(因此ng-model的值应该是键而不是对象的值)。这有可能以某种简单的方式和方式吗?

1 个答案:

答案 0 :(得分:2)

这是你在找什么?

&#13;
&#13;
var myApp = angular.module('myApp',[]);

myApp.controller('GreetingController', ['$scope', function($scope) {
  $scope.currencies_old = [
    {code: "USD", curr: "$"},
    {code: "IND", curr: "INR"}
  ];
  $scope.currencies = {"USD": "USDollars", "EUR": "Euro"};
}]);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="GreetingController">
<select ng-model="item" ng-options="key as value for (key , value) in currencies"></select>
Code: {{item}}
  
<br/> <br/> 
<select ng-options="item as item.curr for item in currencies_old track by item.code" ng-model="item_old"></select>
Code: {{item_old.code}}
</div>
&#13;
&#13;
&#13;