我正在尝试找到一种方法来重新组织视图的initialize
函数中的Backbone集合。在我的收藏中,我的模型具有以下属性:
id: ...,
name: ...,
sort: 2,
parent: 45
parent
属性是我感兴趣的。我想将parent
id为45的所有模型移动到集合的开头。可能有200个模型,也许30个拥有45的父级,15个拥有50的父级等等...我想保持我移动的块与之前的顺序相同(它由{命令) {1}}属性开头,我想保留原始顺序。)
有什么想法吗?
答案 0 :(得分:4)
使用下划线的groupBy
var mySorted = _.groupBy(collection.models, function (model) {
return model.get('parent') === 45 ? 'top' : 'rest' ;
});
然后mysorted.top
包含父亲45的所有内容。mySorted.rest
显然包含其余部分;)
答案 1 :(得分:0)
在您的课程中定义新的comparator。这将使您的收藏保持您想要的任何顺序。