2015-03-26 3 views
10

Ich versuche, eine Pagenation-Funktion für eine Reihe von Benutzern zu tun. Verwenden von Angularjs 1.3.Angular limitTo Filter zweiten Parameter "begin" scheint nicht in Angular arbeiten 1.3

ng-repeat="user in users | filter: searchText | orderBy: 'lastName' | limitTo:pageSize:startPosition track by user.lanId" 

Ich mag die „begin“ Parameter verwenden, den start Variable oben, für den Beginn jeder Seite meiner Liste der Benutzer. Als das nicht funktionierte, vereinfache ich die Aufgabe einfach nur auf ein Array von Zahlen zu beschränken.

$scope.numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]; 

ng-repeat="n in numbers | limitTo:2:2" 

Das hat auch nicht funktioniert. Das gab mir 1 und 2 statt 3 und 4.

Dann wechselte ich zu Angularjs 1.4-Beta.6, und es funktioniert wie erwartet für beide Beispiele.

Meine Frage: Gibt es eine Möglichkeit, dies in Angular 1.3 zu arbeiten? Was verursacht dies in Angular 1.3?

Ich versuchte mit 1.3.15 und 1.3.2 - beide funktionieren nicht.

Danke.

Antwort

12

Gemäß der Dokumentation wurde der Parameter begin in Version 1.3.x nicht implementiert. Siehe this (1.3.15) und this (1.4.0)

+0

Danke! Ich hätte die richtige Version lesen sollen. – uonchiu

+0

Vielen Dank;) Ich habe die Versionsunterschiede nicht bemerkt – Szorstki

6

Sie können Ihre eigene Version von limitTo immer als benutzerdefinierten Filter schreiben.

angular.module('myApp', []).filter('myLimitTo', function() { 
    return function(input, limit, begin) { 
    return input.slice(begin, begin + limit); 
    }; 
});