Witam Próbuję dowiedzieć się, jak zrobić strony po stronie serwera z angularjs ntable.stronicowanie po stronie serwera ngtable
Mam dwóch usług internetowych:
localhost:8080/app/api/period
Method GET
json powrót lista podmiotów. Parametry są przekazywane numerowi strony, zakresowi okresu początkowego i zakresu po zatrzymaniu.
localhost:8080/app/api/period/count
Metoda GET
liczba zwrotów okresów. Gdy parametry są przekazywane zakres początkowy i zakres, kiedy się zatrzyma.
this.tableParams = new ngTableParams({
page: 1,
count: 10
}, {
counts: [10],
total: 0,
getData: function($defer, params) {
$http.get('/app/api/period', {params: {
pageNumber:params.page() - 1,
rangeStart:rangeStart,
rangeStop:rangeStop}})
.success(function(data, status) {
params.total($http.get('/app/api/period/count', {params: {
rangeStart:rangeStart,
rangeStop:rangeStop}}));
$defer.resolve(data);
});
}
});
Tabela params.total
nie jest aktualizowana corectly tak wyświetlane są dane w tabeli, ale przyciski stronicowania nie są widoczne.
Czy ktoś może mi wytłumaczyć, jak używać $http.get
wewnątrz słuchacza sukcesu innego $http.get
w tym przypadku, aby uzyskać poprawne ustawienie params.total
.
Dziękuję za odpowiedź, ale liczyć serwisow prawidłową liczbę wszystkich okresów i że nie ma 10 lub mniej, które mogłyby powodować ukryte przyciski. Problem polega na tym, że obiekt obietnic jquery i sposób jego obsługi przeze mnie. Ostatnio zrobiłem to przez ręczne stronicowanie i domyślne szablonowanie w kanciastym. Twoja sugestia, zwracanie wszystkich okresów i uzyskanie długości ze zwróconej tablicy, nie jest zbyt skutecznym rozwiązaniem. Tryb leniwy jest dla mnie lepszy. – bmlynarczyk
@bmlynarczyk Spójrz lepiej na odpowiedź diablo powyżej.On ** nie ** sugeruje uzyskanie wszystkich wyników z serwera i użycie właściwości length Array. Zamiast tego sugeruje zwrócenie obiektu Json z dwoma właściwościami. W rekordzie wyników będzie znajdować się tablica (strona), a suma (bez długości) będzie zawierała liczbę serwerów(). Musisz tylko zalogować się po stronie serwera, jeśli to możliwe. – cleftheris
@clarethis Zgadzam się. Odpowiedź Diablo została błędnie zinterpretowana przeze mnie. – bmlynarczyk