我目前正在开发一个项目,我需要使用Angular按类别和子类别对响应进行排序。
我的控制器目前看起来像:
function($http, $stateParams) {
let vm = this;
$http({
method: 'GET',
url: url,
timeout: 10000,
contentType: "application/json;odata=verbose",
headers: {"Accept": "application/json;odata=verbose"},
params: {},
}).then(function(data, status, headers, config) {
let documents = data.data.d.results;
$.each(documents, function(i, item){
vm.data = sortDocuments(documents);
})
}).catch(function(error) {
console.log(error);
});
function sortDocuments(documents) {
return _.sortBy(documents, item => {
return {
category: item.Category,
subcategory: item.Subcategory,
documentURL: item.EncodedAbsUrl,
tags: item.Tags
}
})
};
})
我需要在视图中对类别和子类别进行排序,但不确定如何去做。我的模板部分目前看起来像:
<div uib-accordion-group class="panel-default" heading="Subcategory Name">
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Tags</th>
<th>Link</th>
</tr>
</thead>
<tbody ng-show="item.subcategory == 'Subcategory Name'" ng-repeat="item in documents.data">
<tr>
<td>
<p>{{ item.name }}</p>
</td>
<td>
<p>{{ item.tags.results }}</p>
</td>
<td>
<a href="{{ item.documentURL }}">Open
Document</a>
</td>
</tr>
</tbody>
</table>
</div>
任何人都可以告诉我,为了按类别和子类别对视图进行排序,我缺少了什么?
答案 0 :(得分:1)
我不确定你为什么在那里使用_.map。 _.sortBy应该做你需要的。
http://underscorejs.org/#sortBy
这应该非常接近:
vm.data = _.sortBy(data.data.d.results, document => { return document.Category + document.Subcategory } )