您可以使用 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 种不同的方法安装角度过滤器:
- 克隆并构建此存储库
- 通过 Bower:通过从终端运行 $ Bower install Angular-filter
- 通过 npm:通过从终端运行 $ npm install angular-filter
- 通过 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”添加到主模块的依赖项列表中。