如何使用 Angular 过滤器对数据进行分组?

2024-02-26

我有一份球员名单,每个球员都属于一个组。如何使用过滤器列出每个组的用户?

[{name: 'Gene', team: 'team alpha'},
 {name: 'George', team: 'team beta'},
 {name: 'Steve', team: 'team gamma'},
 {name: 'Paula', team: 'team beta'},
 {name: 'Scruath of the 5th sector', team: 'team gamma'}];

我正在寻找这个结果:

  • team alpha
    • Gene
  • team beta
    • George
    • Paula
  • team gamma
    • Steve
    • 第五区的斯克鲁拉斯

您可以使用 groupBy 的角度过滤器 https://github.com/a8m/angular-filter module.
所以你可以做这样的事情:

JS:

$scope.players = [
  {name: 'Gene', team: 'alpha'},
  {name: 'George', team: 'beta'},
  {name: 'Steve', team: 'gamma'},
  {name: 'Paula', team: 'beta'},
  {name: 'Scruath', team: 'gamma'}
];

HTML:

<ul ng-repeat="(key, value) in players | groupBy: 'team'">
  Group name: {{ key }}
  <li ng-repeat="player in value">
    player: {{ player.name }} 
  </li>
</ul>

RESULT:
团体名称:阿尔法
* 球员:吉恩
团体名称:贝塔
* 球员:乔治
* 球员:保拉
团体名称:伽玛
* 球员:史蒂夫
* 球员:斯克鲁斯

UPDATE: jsbin http://jsbin.com/weyov/45/edit?html,js,output记住使用的基本要求angular.filter,特别注意您必须将其添加到模块的依赖项中:

(1) 您可以使用 4 种不同的方法安装角度过滤器:

  1. 克隆并构建此存储库
  2. 通过 Bower:通过从终端运行 $ Bower install Angular-filter
  3. 通过 npm:通过从终端运行 $ npm install angular-filter
  4. 通过 CDNJShttp://www.cdnjs.com/libraries/angular-filter http://www.cdnjs.com/libraries/angular-filter

(2) 在包含 Angular 本身之后,在 index.html 中包含 angular-filter.js (或 angular-filter.min.js)。

(3) 将“angular.filter”添加到主模块的依赖项列表中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Angular 过滤器对数据进行分组? 的相关文章

随机推荐