Ответ 1
Вот только абстрагированный пример разбивки на страницы. Концепция должна быть проиллюстрирована, и вы можете настроить ее в соответствии с конкретной ситуацией.
// Set the current page number usually zero works great to start
// This is an arbitrary ex. but this value will come from your page (e.g. link etc.)
var page = 0;
// How much you want on a page
var displayLimit = 50;
// Get the count on a collection
var count;
myCollection.count().then(function(result){ count = result; });
// Your query
var Assignment = Parse.Object.extend("Assignments");
var query = new Parse.Query(Assignment);
query.descending('updatedAt');
query.limit(displayLimit);
query.skip(page * displayLimit);
// So with this above code, on page 0, you will get 50 results and skip 0 records.
// If your page var is 1, you'll skip the first 50 and get 50 results starting at 51
// So on so forth...
query.find()...
Таким образом, ваши ссылки могут содержать данные страницы, закодированные в нем, когда вы нажимаете на нее, ваша функция будет знать, на какую страницу перейти и захватить соответствующие. Концепция такая же для next/prev. В следующий раз вы просто выполните page++
, а в Prev вы можете сделать page--
.
Надеюсь, что это поможет.
EDIT:
Если вы хотите сделать что-то вроде отображения Assignments 51-100 из 237, вам нужно сделать .count()
, чтобы получить общее количество записей перед началом работы.
Чтобы получить начальный номер, это просто что-то вроде (page * displayLimit) + 1
Чтобы получить конечный номер, имейте в виду, что если вы находитесь на последней странице, у вас может не быть 50 записей или что бы вы не сделали с displayLimit.