Backbone.Paginator无限模式,搭配木偶

时间:2015-11-13 07:20:40

标签: javascript backbone.js pagination marionette backbone.paginator

在我的Marionette应用程序中,我有一个Collection视图,其模型为childView

分配给CollectionView的集合是来自PageableCollection的{​​{1}}。该模式设置为Backbone.paginator

当请求下一页(如infinite)时,该集合正在获取数据并将响应分配给集合,覆盖旧条目,尽管完整版本存储在getNextPage()中。在这里我可以找到collection.fullCollection需要呈现的所有条目。

Marionette对收集事件非常聪明,并且在将模型添加到集合时,将使用它的新模型呈现新的CollectionView。删除模型时,它还会移除childView

但是,由于childView并不代表我想要的渲染列表,因此我不想完成此操作,collection是我想在页面上显示的内容。

我的木偶视图是否有办法考虑collection.fullCollection而不是collection.fullCollection,或者木偶是否有更合适的分页框架?

Here's a fiddle with the code

对于那些不喜欢小提琴的人:

collection

1 个答案:

答案 0 :(得分:1)

您可以将CollectionView作为完整集合的基础,并将分页集合作为单独选项传递:

App.View.MyColView = Mn.CollectionView.extend({
  initialize: function(options) {
    this.pagedCollection = options.pagedCollection;
    this.pagedCollection.getFirstPage();

    this.listenTo(this.collection, "add", this.newContent);
  },

  // ...
}

// Create the view
var colView = new App.View.MyColView({
  collection: col.fullCollection,
  pagedCollection: col
});

Forked fiddle