Upv*_*ote 134 angularjs angularjs-filter
<div class="recent" ng-repeat="reader in
(filteredItems = (book.reader | orderBy: 'created_at' | limitTo: 1))">
</div>
Run Code Online (Sandbox Code Playgroud)
所以这本书来自rest api,它附有许多读者.我想得到'最近'的读者.
该created_at字段具有将用户标识为最近的值.但上面的代码给了我最老的读者.所以订单需要反转?有没有办法按降序排序?
CD.*_*D.. 213
根据文档,您可以使用该reverse参数.
filter:orderBy(array, expression[, reverse]);
Run Code Online (Sandbox Code Playgroud)
将您的过滤器更改为:
orderBy: 'created_at':true
Run Code Online (Sandbox Code Playgroud)
Lud*_*son 176
您可以在参数前面orderBy加上' - '来降序而不是升序.我会这样写:
<div class="recent"
ng-repeat="reader in book.reader | orderBy: '-created_at' | limitTo: 1">
</div>
Run Code Online (Sandbox Code Playgroud)
这也在过滤器orderBy的文档中说明.
igo*_*uad 41
也许这对某人有用:
在我的例子中,我得到了一个对象数组,每个对象都包含一个由Mongoose设置的日期.
我用了:
ng-repeat="comment in post.comments | orderBy : sortComment : true"
Run Code Online (Sandbox Code Playgroud)
并定义了功能:
$scope.sortComment = function(comment) {
var date = new Date(comment.created);
return date;
};
Run Code Online (Sandbox Code Playgroud)
这对我有用.
Nie*_*Bom 17
一个代码示例:
<div ng-app>
<div ng-controller="FooController">
<ul ng-repeat="item in items | orderBy:'num':true">
<li>{{item.num}} :: {{item.desc}}</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和JavaScript:
function FooController($scope) {
$scope.items = [
{desc: 'a', num: 1},
{desc: 'b', num: 2},
{desc: 'c', num: 3},
];
}
Run Code Online (Sandbox Code Playgroud)
会给你:
3 :: c
2 :: b
1 :: a
Run Code Online (Sandbox Code Playgroud)
关于JSFiddle:http://jsfiddle.net/agjqN/
小智 7
降序按日期排序
它将有助于按日期降序过滤记录.
$scope.logData = [
{ event: 'Payment', created_at: '04/05/17 6:47 PM PST' },
{ event: 'Payment', created_at: '04/06/17 12:47 AM PST' },
{ event: 'Payment', created_at: '04/05/17 1:50 PM PST' }
];
<div ng-repeat="logs in logData | orderBy: '-created_at'" >
{{logs.event}}
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
256646 次 |
| 最近记录: |