分组集合与Epoxy.js的数据绑定?

时间:2014-07-01 09:04:36

标签: javascript backbone.js collections

我希望你能帮助我,经过几个小时的搜索,我的问题仍未得到答复。

我正在使用Backbone.js和Epoxy.js视图进行数据绑定,并将集合绑定到我的视图以显示每个条目:

var list = new (Backbone.Collection.extend({
    model: Model
}))();

var View = Backbone.Epoxy.View.extend({
    el: $el,
    collection: list,
    itemView: ItemView,
    bindings: { 'tbody': 'collection:$collection' }
});

new View();

Model是一个基本的Backbone.Model,ItemView是一个代表我的集合的单个条目的视图:

var Model = Backbone.Model.extend({
    defaults: {
        foo: 'foo',
        bar: 'bar'
    }
});

var ItemView = Backbone.Epoxy.View.extend({
    tagName: "tr",

    el: '<tr>'+[
        '<td class="list-foo"></td>',
        '<td class="list-bar"></td>'
    ].join('')+'</tr>',

    bindings: {
        '.list-foo': 'text:foo',
        '.list-bar': 'text:bar',
    }
});

现在这就像一个魅力,我的收藏中的每个模型都将完美地显示在我的表格中,对我的列表的任何更新都将更新我的观点。但是:

有没有办法对我的收藏进行分组,并更新我的观点?

Collection.groupBy()会返回包含我的分组数据的数组,但我如何处理Epoxy.Views

我能想到的唯一但丑陋的解决方案是使用新模型(分组数据)填充另一个集合,替换view.collectionview.ItemView并更新绑定,但没有其他,更清洁的方式来做到这一点?

提前致谢!

0 个答案:

没有答案