Может ли комбинация AngularJS filter
, order
или limitTo
для ng-repeat
имитирует _.last
в UnderscoreJS?
AngularJS limitTo по последним 2 записям
Ответы (2)
Если я правильно понимаю ваш вопрос, я думаю, что эта скрипка подойдет.
Для этих данных:
$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 элемента (это покажет последний, третий):
<div ng-repeat="item in items | orderBy:'sort':true | limitTo:2">
person
Gloopy
schedule
13.08.2012
Ответ Gloopy правильный, но просто примечание... Если вы хотите использовать Underscore, вы можете:
myApp.run(function($rootScope) {
$rootScope._ = _;
});
<div ng-repeat="item in _.last(items)">
person
Andrew Joslin
schedule
14.08.2012