Hen*_*ren 12 javascript pagination backbone.js underscore.js parse-platform
目前,我使用Javascript Parse.Object.extend查询结果,并将这些结果模板化为带有underscoreJS的列表.
以下是查询Parse对象并将对象添加到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);
}
});
Run Code Online (Sandbox Code Playgroud)
这是Underscore模板.
<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>
Run Code Online (Sandbox Code Playgroud)
但是,我不明白如何在Parse和Underscore中对结果进行分页.
我已经尝试了骨干分页器,但我对Backbone并不是很好,我只是不明白如何将它与Parse查询结合起来.
如果我必须使用另一个模板解决方案,或骨干分页器之外的其他分页解决方案,它也没关系.任何事都会有所帮助,我对这个分页很感兴趣.
编辑:
Parse.com有skip()和limit(),不知怎的,据说这很有用,但我不知道如何实现它.
jmk*_*142 30
这里只是一个抽象的分页示例.应该说明这个概念,你可以调整它以适应你的具体情况.
// 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()...
Run Code Online (Sandbox Code Playgroud)
因此,您的链接可以以某种方式在其中编码页面数据,因为当您单击它时,您的函数将知道要跳转到哪个页面并获取相应的页面.next/prev的概念是相同的.在接下来你只需要做一个page++
和上一个你可以做一个page--
.
希望这可以帮助.
编辑:
如果你想做一些事情,比如显示237中的分配51-100,你需要做一个.count()
事先得到记录总数.
要得到起始编号,它就像是(page * displayLimit) + 1
要获得结束编号,请记住,如果您在最后一页上,则可能没有完整的50条记录或者您的displayLimit.
归档时间: |
|
查看次数: |
10788 次 |
最近记录: |