我的网络应用程序有一个 REST API,它返回一个 JSON,它将我的数据库中的几个表连接在一起。我可以毫无问题地将它们拉入我的 AngularJS 应用程序,但是当我想按其中一个字段对输出进行分组时,我找不到明确的方法来执行此操作。
作为我目前如何获得服务的示例:
angular.module('myapp.services', ['ngResource'])
.factory('Item', function($resource) {
return $resource('api/items/:itemId', {}, {
query: {method: 'GET', isArray: true}
});
})
然后我通过以下方式拉入:
<div class="items">
<div class="item" ng-repeat="item in items">
<div ng-include="'/partials/item.html'"></div>
</div>
</div>
我想做的是在列表中显示这些项目的集合,并根据组名对其进行分组。所以调用:
/api/collections/:collection_id/items
会像这样返回 JSON 输出(以下是一项):
[ { item_id: 1,
item_name: 'Monkey',
item_action: 'Eats a banana',
group_id: 1,
group_name: 'Primates',
collection_id: 1,
collection_name: 'Animals'
} ]
所以我希望能够像这样输出它们的一个集合:
<h1>Animals</h1>
<div class="group">
<h2>Primates</h2>
<div class="items">
<div class="item">
<p>Monkey - eats a banana</p>
<p>Gorilla - bangs his chest</p>
</div>
</div>
</div>
<div class="group">
<h2>Fish</h2>
<div class="items">
<div class="item">
<p>Salmon - sings Sinatra songs</p>
</div>
</div>
</div>
<div class="group">
<h2>Insects</h2>
<div class="items">
<div class="item">
<p>Ant - Forages for food</p>
</div>
</div>
</div>
这是否可以使用某种 ng-repeat 结构,例如我上面的示例?我几乎可以肯定它是,但我是 AngularJS 的新手,并且很难在网上找到任何这样的例子。
我想保留从该 JSON 文件中读取的所有内容,以将对数据库的请求保持在最低限度(页面加载时的一个请求,然后 JS 处理其余请求)。
任何帮助是极大的赞赏!