AngularJS limitTo的最后2条记录

时间:2012-08-13 22:18:45

标签: underscore.js angularjs

filter的AngularJS orderlimitTong-repeat的组合可以模仿UnderscoreJS中的_.last吗?

2 个答案:

答案 0 :(得分:15)

Gloopy的回答是正确的,但只是一个注释......如果你想使用下划线,你可以:

myApp.run(function($rootScope) {
  $rootScope._ = _;
});

<div ng-repeat="item in _.last(items)">

答案 1 :(得分:12)

如果我正确理解你的问题,我认为this fiddle会这样做。

对于这些数据:

$scope.items = [{sort: 1, name: 'First'}, 
                {sort: 2, name: 'Second'}, 
                {sort: 3, name: 'Third'}, 
                {sort: 4, name:'Last'}];

如果您不想对数组进行实际排序,只是按原样排列数组的最后两项(如下划线的最后一项),您可以尝试一个负限制(这将显示第三个,最后一个):

<div ng-repeat="item in items | limitTo:-2">

另请注意,您可以将过滤器链接在一起,如此示例将数据反向排序并拍摄2个项目(这将显示Last,Third):

<div ng-repeat="item in items | orderBy:'sort':true | limitTo:2">