6

AngularJS filterorder、 或limitTofor的组合可以ng-repeat模仿_.lastUnderscoreJS 中的吗?

4

2 回答 2

15

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

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

<div ng-repeat="item in _.last(items)">
于 2012-08-14T13:23:51.363 回答
12

如果我正确理解你的问题,我认为这个小提琴会做到这一点。

对于此数据:

$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">
于 2012-08-13T22:39:57.583 回答