Backbone.js分组集合

时间:2011-12-14 15:30:21

标签: javascript backbone.js

我有一个带有男性和女性模特的backbone.js集合。

在我的界面中,我想将它们分成各自的列。是否有内置/推荐的方法在backbone.js集合中进行分组?

现在在我的视图/渲染代码中我正在做

if male
  self.el.appendTo(#male)
if female
  self.el.appendTo(#female)

还有其他办法吗?也许使用下划线的groupBy?

感谢。

1 个答案:

答案 0 :(得分:3)

您可以按性别过滤集合以获取匹配模型的数组

Person = Backbone.Model.extend();
Persons = Backbone.Collection.extend({
    model: Person,
    filterGender: function (g) {
        return this.filter(function(m) {
            return m.get("gender")==g;
        });
    }
});

l=new Persons();
l.add({gender:'female',id:1});
l.add({gender:'female',id:2});
l.add({gender:'male',id:3});

console.log(l.filterGender("female"));