我有点卡住实施骨干比较器,我基本上想根据路线选择不同的排序方法,并使用比较器来排序集合。理想情况下,我想将排序逻辑封装在集合中,但似乎陷入困境。例如正确实施骨干比较器
Requests = Backbone.Collection.extend({
model : Request,
comparator : function(ab) {
return -ab.id;
},
nooffers : function() {
return this.sortBy(function(ab) {
return ab.get('offers');
});
}
});
所以它默认排序基于默认的比较 - 但在我的路由我希望能够诉诸例如这样做
routes : {
"" : "index",
'/ordering/:order' : 'ordering'
},
ordering : function(theorder) {
ordering = theorder;
if(theorder == 'nooffers') {
Request.comparator = Request.nooffers();
}
Request.sort();
listView.render();
howitworksView.render();
}
然而,在这种情况下,我得到一个错误(“c.call不是一个函数”)任何想法?
答案是好的,但这个问题也值得一些爱(为了得到答案):-) – jmk2142 2012-05-08 06:50:44