gpt4 book ai didi

javascript - Parse.com : How to paginate results from a Parse. 查询?

转载 作者:可可西里 更新时间:2023-11-01 01:57:25 24 4
gpt4 key购买 nike

目前,我正在使用 Javascript Parse.Object.extend 查询结果,并使用 underscoreJS 将这些结果模板化到列表中。

下面是查询解析对象并将对象添加到 Underscore 模板的代码。

var Assignment = Parse.Object.extend("Assignments");
var query = new Parse.Query(Assignment);
query.descending('updatedAt');

query.find({
success: function(results) {
console.log("Success");
var tableTemplate = $("#list-template").html();
$("#assignmentdisplay").html(_.template(tableTemplate,{results:results}));

},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});

这是下划线模板。

<script type="text/html" id='list-template'>
<% _.each(results,function(result){ %>
<li id="list-group-item">
<h4 class="list-group-item-heading"><%= result.get("Title") %></h4>
<p class="list-group-item-text"><%= result.get("Content") %></p>
<p class="list-group-item-text"><%= result.get("Categories") %></p>
</li>
<% }) %>

</script>

但是,我不明白如何在 Parse 和 Underscore 中对结果进行分页。

我试过 backbone paginator ,但我对 Backbone 不是很好,我只是不明白如何将它与 Parse 查询结合起来。

如果我必须使用其他模板解决方案,或者除了主干分页器之外的其他分页解决方案,也可以。任何事情都会有所帮助,我对这种分页很着迷。

编辑:

Parse.com有skip()和limit(),据说这个很有用,但我不知道如何实现。

最佳答案

这只是分页的抽象示例。应该说明这个概念,您可以对其进行调整以适应您的具体情况。

// 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 的概念相同。在 Next 上,您只需执行 page++,而在 Prev 上,您可以执行 page--

希望这对您有所帮助。

编辑:

如果你想做一些事情,比如显示第 51-100 个作业,共 237 个作业,你需要执行 .count() 来事先获取记录总数。

要获取起始编号,只需像 (page * displayLimit) + 1要获得结束编号,请记住,如果您在最后一页,您可能没有完整的 50 条记录或无论您的 displayLimit 是多少。

关于javascript - Parse.com : How to paginate results from a Parse. 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20950648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com