<table>
<thead>
<tr>
<th class="col-md-3" ng-click="sortDirection = !sortDirection">Created At</th>
</tr>
</thead>
<tbody>
<tr dir-paginate="food in foods | filter:foodFilter | itemsPerPage:pageSize | orderBy:'created_at_date'">
<td class="col-md-"> {{food.created_at_date}} </td>
</tbody>
</table>
<dir-pagination-controls
max-size= 7
boundary-links="true">
</dir-pagination-controls>
这只是我的代码片段,但它太大而无法忍受。一切正常,只有一些created_at_date是有序的。当我单击其他过滤器以根据该过滤器添加或删除数据时,只会将其中一些过滤器输入到正确的位置。我的主要问题是:是否有适当的排序所有日期,同时仍然允许其他所有功能?欢迎所有帮助,谢谢
(function () {
"use strict";
App.controller('foodsController', ['$scope'],
function($scope) {
$scope.sortDirection = true;
答案 0 :(得分:0)
在控制器中,您可以添加方法以在循环之前对数组进行排序。
假设您的食物数组有一个对象数组,每个对象都有一个created_at_date键和一个值:
<table>
<thead>
<tr>
<th class="col-md-3" ng-click="sortDirection = !sortDirection">Created At</th>
</tr>
</thead>
<tbody>
<tr dir-paginate="food in orderBy('created_at_date', foods) | filter:foodFilter | itemsPerPage:pageSize">
<td class="col-md-"> {{food.created_at_date}} </td>
</tr>
</tbody>
</table>
现在,在您的模板上,您可以使用一种方法为您排序值:
orderBy
我们在你的控制器上创建的window.open
方法返回一个数组,但它只是作为函数的第一个参数发送的键排序。第二个参数是您尝试排序的原始数组。
至少通过这种方式,您可以检查是否删除了所有其他过滤器以查看它是否正确排序,如果再将其添加回来,则会更改它,因为这些过滤器也在更改顺序。