使用对象的Angular ng-options

时间:2016-04-12 14:08:01

标签: object ng-options

任何人都可以帮助我,如何在以下结构的ng-options中显示'name'。

"systems": {
    "android": {
      "name": "Android"
    },
    "ios": {
      "name": "iOS"
    },
    "web": {
      "name": "Web"
    }
  },

1 个答案:

答案 0 :(得分:1)

结构:

$scope.systems =  {
    "android": {
      "name": "Android"
    },
    "ios": {
      "name": "iOS"
    },
    "web": {
      "name": "Web"
    }
  };
你可以这样做:

 <select ng-model='system' ng-options='key.name as value.name for (key, value) in systems'></select>

 Selected Value = {{system}}

如果你必须有这种结构:

$scope.systems = 
{
  "systems": {
    "android": {
      "name": "Android"
    },
    "ios": {
      "name": "iOS"
    },
    "web": {
      "name": "Web"
    }
  };

然后我会用ng-repeat(我不会看到另一种方式)来做这件事:

 <select ng-model='system' ng-repeat='(key, values) in systems'>
      <option ng-repeat='(k,v) in values' ng-bind='v.name'></option>
    </select>

 Selected Value = {{system}}

我希望它有所帮助:)