找不到符合我问题的任何现有问题......
OrderBy并不适合我;我已经归结为以下示例代码:
控制器:
'use strict';
angular.module('angularSampleApp')
.controller('MainCtrl', function($scope) {
$scope.products = [{
product_summary: {
purchase_id: 225,
purchase_date: '2014-09-05T08:58:59+10:00',
title: 'Product 1',
}
}, {
product_summary: {
purchase_id: 226,
purchase_date: '2014-09-05T11:34:28+10:00',
title: 'Product 2',
}
}];
$scope.purchaseDate = function(product) {
return Date.parse(product.product_summary.purchase_date);
}
});
并查看:
<ul>
<li ng-repeat="product in products | orderBy:purchaseDate">
{{product.product_summary.title}} : {{product.product_summary.purchase_date}}
</ul>
<ul>
<li ng-repeat="product in products | orderBy:purchaseDate:reverse">
{{product.product_summary.title}} : {{product.product_summary.purchase_date}}
</ul>
两个列表的顺序相同。
据我所知,我正确地做事 - purchaseDate函数返回一个int的Date.parse输出,所以据我所知,这应该有用......
任何人都可以看到我做错了吗?
答案 0 :(得分:1)
反向 (可选的) 布尔 颠倒数组的顺序。
https://docs.angularjs.org/api/ng/filter/orderBy
reverse
是一个变量,需要设置为true或false。如果你使用一个未定义的变量,它就是&#34; falsy&#34;,所以它表现得好像你没有告诉它要反转。添加$scope.reverse = true
即可。
编辑:实际上,您可能需要这样做:
orderBy:'productSummary.purchaseDate':reverse
也可以通过purchaseDate订购
答案 1 :(得分:0)
好的,我刚刚意识到orderBy的第二个参数不是“反向”,反转是真的,反之则是假。
应该正确阅读文档....