Wie funktioniert Paging in AngularJS?
Ich habe einen Datensatz von über 1000 Elemente, die in-memory-und bin versucht, erstellen Sie ein pager für
dieses dataset, aber ich bin mir nicht sicher, wie dies zu tun.
Ich bin mit einem benutzerdefinierten filter-Funktion, um die Ergebnisse zu filtern, und das funktioniert auch, aber irgendwie muss ich, um die Anzahl der Seiten aus.
Irgendwelche Hinweise?
Kommentar zu dem Problem
InformationsquelleAutor der Frage Micael | 2012-05-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Angular-UI-Bootstrap - Pagination Richtlinie
Check-out UI Bootstrap's Paginierung Richtlinie. Ich landete mit es eher als das, was hier gepostet als es hat genug features für meine aktuelle Verwendung und hat eine Gründliche test-spec zu begleiten.
Ansicht
Controller
Ich habe eine arbeiten plunker für Referenz.
Legacy-Version:
Ansicht
Controller
Ich habe eine arbeiten plunker für Referenz.
InformationsquelleAutor der Antwort Scotty.NET
Habe ich vor kurzem implementiert paging für die Gebaut mit Kantigen Seite. Sie chan die Kasse Quelle: https://github.com/angular/builtwith.angularjs.org
Ich würde vermeiden, mit einem filter zur Trennung der Seiten. Sie sollten brechen Sie die Elemente in Seiten innerhalb der Steuerung.
InformationsquelleAutor der Antwort btford
Ich habe zu implementieren, die Paginierung schon ein paar mal mit Eckigen, und es war immer ein bisschen wie ein Schmerz für etwas, das ich fühlte, konnte vereinfacht werden. Ich habe verwendet einige der hier vorgestellten Ideen und anderswo, um eine Seitenumbruch-Modul, das macht die Paginierung einfach:
Das ist es. Es hat die folgenden Funktionen:
items
auf die Seitenzählung links.ng-repeat
, so können Sie jeden beliebigen Ausdruck verwenden, könnte rechtmäßig in einemng-repeat
, einschließlich Filterung, Bestellung etc.pagination-controls
Richtlinie nicht zu wissen, etwas über den Kontext, in dem diepaginate
Richtlinie genannt wird.Demo : http://plnkr.co/edit/Wtkv71LIqUR4OhzhgpqL?p=preview
Für diejenigen, die sich für eine "plug and play" Lösung, denke ich, werden Sie diese nützlich finden.
Code
Den code gibt es hier auf GitHub und beinhaltet eine ziemlich gute Reihe von tests:
https://github.com/michaelbromley/angularUtils/tree/master/src/directives/pagination
Wenn Sie interessiert sind, schrieb ich auch ein kurzes Stück mit ein wenig mehr Einblick in das design des Moduls: http://www.michaelbromley.co.uk/blog/108/paginate-almost-anything-in-angularjs/
InformationsquelleAutor der Antwort Michael Bromley
Ich habe gerade ein JSFiddle, die zeigen, dass die Paginierung + Suche + bestellen, indem Sie auf jede Spalte mit btford code: http://jsfiddle.net/SAWsA/11/
InformationsquelleAutor der Antwort Spir
Ich aktualisiert Scotty.NET's plunkr http://plnkr.co/edit/FUeWwDu0XzO51lyLAEIA?p=preview, so dass es mit neueren Versionen von angular, angular-ui und bootstrap.
Controller
Bootstrap UI-Komponente
InformationsquelleAutor der Antwort user2176745
Dies ist eine Reine javascript-Lösung, die ich umwickelt habe so ein Eckiges service zu implementieren Paginierung-Logik wie in den google-Suchergebnissen.
Arbeiten demo auf CodePen an http://codepen.io/cornflourblue/pen/KVeaQL/
Details und Erklärungen zu in diesem blog-post
InformationsquelleAutor der Antwort Jason
Dem jQuery Mobile angular adapter hat eine paging-filter könnte man die Basis der.
Hier ist eine demo-fiddle, der es verwendet (fügen Sie mehr als 5 Artikel und es wird ausgelagert): http://jsfiddle.net/tigbro/Du2DY/
Hier ist die Quelle: https://github.com/tigbro/jquery-mobile-angular-adapter/blob/master/src/main/webapp/utils/paging.js
InformationsquelleAutor der Antwort Andrew Joslin
Ich diese 3rd-party-Seitenumbruch-Bibliothek, und es funktioniert gut. Es kann local/remote-Datenquellen und es ist sehr konfigurierbar.
https://github.com/michaelbromley/angularUtils/tree/master/src/directives/pagination
InformationsquelleAutor der Antwort Henry Zou
Unten die Lösung ganz einfach.
Hier ist Beispiel jsfiddle
InformationsquelleAutor der Antwort Sh4m
Für alle, die finden es schwer, wie mir das erstellen einen paginator, der für eine Tabelle poste ich diese.
So, aus Ihrer Sicht :
In Ihrem angularJs:
InformationsquelleAutor der Antwort K.Mouna
ng-repeat Paginierung
InformationsquelleAutor der Antwort Asad
Seit Angular 1.4, die
limitTo
filter akzeptiert auch einen optionalen zweiten argumentbegin
Aus der docs:
, So dass Sie nicht brauchen, um erstellen Sie eine neue Richtlinie, Dieses argument kann verwendet werden, um den offset der Paginierung
InformationsquelleAutor der Antwort svarog
Vorherigen Nachrichten empfohlen im Grunde, wie man eine paging selbst. Wenn Sie wie ich sind und lieber eine fertige Richtlinie, fand ich eine große nannte man ngTable. Es unterstützt die Sortierung, Filterung und Paginierung.
Es ist eine sehr saubere Lösung, alles, was Sie brauchen, aus Ihrer Sicht:
Und im controller:
Link zu GitHub: https://github.com/esvit/ng-table/
InformationsquelleAutor der Antwort Carlos Barcelona
Da ist mein Beispiel. Ausgewählte Schaltfläche in der Mitte auf der Liste
Controller.
config >>>
Logik für die Paginierung:
und meine Sicht auf die bootstap
Ist es sinnvoll
InformationsquelleAutor der Antwort Alexey
Winkel-Paging
ist eine wunderbare Wahl
InformationsquelleAutor der Antwort sendreams
Ich wünschte, ich könnte Kommentar, aber ich werde nur noch zu verlassen, dieses hier:
Scotty.NET's Antwort und user2176745 wiederholen Sie für spätere Versionen sind beide toll, aber Sie verpassen etwas, dass meine version von AngularJS (v1.3.15) bricht auf:
i ist nicht definiert in $scope.makeTodos.
Als solche, ersetzen mit dieser Funktion hält Sie für neuere eckige Versionen.
InformationsquelleAutor der Antwort Lewis
InformationsquelleAutor der Antwort Riddhi Gohil
Alte Frage, aber da ich denke, dass mein Ansatz ist ein bisschen anders und weniger Komplex werde ich teilen und hoffen, dass jemand neben mir finden es nützlich.
Was ich gefunden habe, um eine einfache und kleine Lösung, um die Paginierung zu verbinden Richtlinie mit einem filter, der verwendet die gleichen Gültigkeitsbereich von Variablen.
Um dies zu implementieren, fügen Sie den filter auf das array und fügen Sie den directiv wie diese
p_Size und p_Step sind die scope-Variablen, die angepasst werden kann in dem Umfang sonst ist der default-Wert der p_Size ist 5 und p_Step ist 1.
Wenn ein Schritt ist die änderung der Paginierung der p_Step aktualisiert und löst eine neue Filterung von cust_pagination filter.
Die cust_pagination filter dann Scheiben das array je nach dem Wert p_Step wie unten aufgeführt und senden Sie nur die aktiven Datensätze ausgewählt, die in der Paginierung Abschnitt
DEMO Ansicht die vollständige Lösung in diesem plunker
InformationsquelleAutor der Antwort Marcus Höglund
Können Sie ganz einfach tun dies mit Hilfe von Bootstrap UI-Richtlinie.
Diese Antwort ist eine Abwandlung der Antwort von @Scotty.NET ich habe den code veränderte, weil
<pagination>
Richtlinie ist veraltet jetzt.Folgende code erzeugt die Seitenzählung:
Funktionsfähig zu machen, verwenden Sie diese in Ihrem controller:
Beziehen, um diese für weitere Optionen der Seitenzählung: Bootstrap UI Paginierung Richtlinie
InformationsquelleAutor der Antwort Astitva Srivastava
Hinzufügen möchte ich, dass meine Lösung, die funktioniert mit
ngRepeat
und Filter, die Sie es verwenden, ohne einen$watch
oder ein segmentiertes array.Ihre filter Ergebnisse werden mit Seitenzahlen!
In der HTML-stellen Sie sicher, dass Sie Ihre Filter, um die
ngRepeat
vor die Paginierung filter.InformationsquelleAutor der Antwort Jonathan Czitkovics