gpt4 book ai didi

backbone.js - 是否可以为集合动态定义比较器函数?

转载 作者:行者123 更新时间:2023-12-01 11:05:41 25 4
gpt4 key购买 nike

我有一个基本的收藏:

myCollection = Backbone.Collection.extend({
model: myModel
url: '/theurl',
initialize: function(){
this.fetch();
})
})

初始化时,集合接收按日期排序的项目。我希望能够使用另一个模型属性(名称、评级等)动态地重新排序集合。

在与集合关联的 View 中,我尝试将点击事件绑定(bind)到回调,如下所示:

reorderByName: function(){
myCollection.comparator = function(item){
return item.get('name');
});
this.render();
})

不幸的是,这似乎行不通。关于我该怎么做的任何建议?

谢谢。

最佳答案

看起来您只完成了需要做的一半。您已经为集合提供了比较器,但没有告诉它自行求助。所以你需要在渲染之前添加类似这样的语句:

myCollection.sort();

请注意,这将触发一个 reset 事件,您将此事件绑定(bind)到的任何对象都会收到该事件。如果你想抑制触发那个事件,你可以这样调用:

myCollection.sort({silent: true});

希望这对您有所帮助。

关于backbone.js - 是否可以为集合动态定义比较器函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com