Backbone.js 使用Marionette.js对装饰过的集合进行分页
我的脊梁骨和木偶正在加速,遇到了障碍。基本上,我从用于集合的API获得的结果集被“包装”在分页数据中,如下所示:Backbone.js 使用Marionette.js对装饰过的集合进行分页,backbone.js,marionette,Backbone.js,Marionette,我的脊梁骨和木偶正在加速,遇到了障碍。基本上,我从用于集合的API获得的结果集被“包装”在分页数据中,如下所示: {PageSize:10,PageIndex:0,TotalItems:100,Items:[...]} 因此,实际上真正的集合是项:[]数组。我知道我可以从结果中使用这个集合,但是我需要视图/寻呼机UI的分页数据 我已经尝试了几件事情,我现在的主要解决方案是像这样扩展现有的集合 PagedCollection = Backbone.Collection.extend( {
{PageSize:10,PageIndex:0,TotalItems:100,Items:[...]}
因此,实际上真正的集合是项:[]
数组。我知道我可以从结果中使用这个集合,但是我需要视图/寻呼机UI的分页数据
我已经尝试了几件事情,我现在的主要解决方案是像这样扩展现有的集合
PagedCollection = Backbone.Collection.extend(
{
pageSize: 0,
pageIndex: 0,
totalItems: 0,
parse:function(data) {
this.pageSize = data.PageSize;
this.pageIndex = data.PageIndex;
this.totalItems = data.TotalItems;
return data.Items;
}
});
然后在我的复合视图中,我将分页信息提取到model属性中,这样我就可以访问模板中的分页信息(这是主要问题):
我的问题是,这是正确/正确的方法,还是我缺少了一些内置于主干或木偶中的简单方法
感谢您的帮助 不,主干网不能像这样优雅地处理分层收集/模型信息。您所拥有的几乎就是我将如何做到这一点。我一直在使用backbone pageable来管理我的寻呼机,而您所拥有的正是该组件如何处理它。
var LogView = Backbone.Marionette.CompositeView.extend({
initialize:function() {
this.model = new Backbone.Model({pageSize:this.collection.pageSize,pageIndex:this.collection.pageIndex,totalItems:this.collection.totalItems});
},
template: "#log-view",
itemView: LogRowView,
itemViewContainer: "tbody"
});