我有一个基本的集合:
myCollection = Backbone.Collection.extend({
model: myModel
url: '/theurl',
initialize: function(){
this.fetch();
})
})
Run Code Online (Sandbox Code Playgroud)
初始化时,集合接收按日期排序的项目.我希望能够使用另一个模型属性(名称,评级等)动态地重新排序集合.
在与集合关联的视图中,我尝试将click事件绑定到这样的回调:
reorderByName: function(){
myCollection.comparator = function(item){
return item.get('name');
});
this.render();
})
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎不起作用.有关如何做到这一点的任何建议?
谢谢.
看起来你只做了一半你需要做的事情.你已经给它收集了它的比较器,但是你没有告诉它要求它自己.因此,您需要在渲染之前添加类似此语句的内容:
myCollection.sort();
Run Code Online (Sandbox Code Playgroud)
请注意,这将触发reset您将此事件绑定到的任何对象都会收到的事件.如果您希望禁止触发该事件,可以通过以下方式拨打电话:
myCollection.sort({silent: true});
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |