Ciao Cerco di capire come rendere impaginazione lato server con angularjs ungable.impaginazione lato server aggiornabile
Ho due servizi web:
localhost:8080/app/api/period
Metodo GET
ritorno lista JSON delle entità. Come parametri vengono passati numero di pagina, intervallo di periodo di inizio e intervallo quando si ferma.
localhost:8080/app/api/period/count
Metodo GET
conteggio di ritorno dei periodi. Man mano che i parametri vengono passati, intervallo di periodo iniziale e intervallo quando si ferma.
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);
});
}
});
Tabella params.total
non è aggiornato corectly modo vengono visualizzati i dati in tabella, ma i pulsanti di impaginazione non sono visibili.
Qualcuno potrebbe spiegarmi come utilizzare $http.get
all'interno dell'ascoltatore di successo di altri $http.get
in questo caso per ottenere correttamente settato params.total
.
Grazie per la risposta, ma conta di ritorno il servizio numero corretto di tutti i periodi e che non è 10 o meno che potrebbero causa i pulsanti nascosti. Il problema è con l'oggetto jquery promise e il modo di gestirlo da me. Recentemente l'ho fatto con l'impaginazione manully e la templatura predefinita in angolare. Il tuo suggerimento con la restituzione di tutti i periodi e ottenere la lunghezza dall'array restituito non è una soluzione molto efficiente. La modalità pigro è migliore per me. – bmlynarczyk
@bmlynarczyk Dai un'occhiata alla risposta di diablo qui sopra.È ** non ** suggerendo di ottenere tutti i risultati dal server e utilizzando la proprietà Lunghezza array. Invece suggerisce di restituire un oggetto json con due proprietà. Il puntello dei risultati manterrà la matrice (pagina) e il totale (nessuna lunghezza) conterrà il conteggio del server(). Devi solo il tuo login lato server se possibile. – cleftheris
@clarethis Sono d'accordo. La risposta di Diablo è stata erroneamente interpretata da me. – bmlynarczyk