方法:在ng-repeat中分组以获取组

时间:2016-08-11 23:46:06

标签: angularjs

我有一个从C#中提取的列表。我称之为团队。团队有一些属性:团队类型和团队成员(这是一个子集列表)。

[
  {
    "team": {
      "teamName": "The First Team",
      "teamType": 1
    }
  },
  {
    "team": {
      "teamName": "The Second Team",
      "teamType": 2
    }
  },
  {
    "team": {
      "teamName": "The Third Team",
      "teamType": 2
    }
  }
]

我的目标: 我希望有一个ng-repeat表示团队类型,以及有多少类型的团队,有点像这样:

<div>
    <li ng-repeat="team in teams | groupBy: teamType>
       Type: {{::teamType}} -- Count: {{::numberOfTeamsOfType}}
    </li>
</div>

它可能看起来像这样:

  • 类型:1 - 计数:1
  • 类型:2 - 数:2

1 个答案:

答案 0 :(得分:2)

使用角度过滤器模块var myApp = angular.module("myApp", ['angular.filter']);并给出您提供的对象数组结构,您可以这样做:

<li ng-repeat="(key, value) in teams | groupBy: 'team.teamType'">
    Team Type: {{value[0].team.teamType}} -- Count: {{value.length}}
</li>

jsfiddle here