如何在骨干集合已经被初始化后改变它的排序顺序?Backbonejs集合更改排序顺序?
尝试这样:不工作
collection.comparator = function() {
// new function
}
collectionObject.sort()
如何在骨干集合已经被初始化后改变它的排序顺序?Backbonejs集合更改排序顺序?
尝试这样:不工作
collection.comparator = function() {
// new function
}
collectionObject.sort()
我不认为你正确定义的比较。如果你定义了一个比较器,那么对象将以正确的顺序插入到集合中。
这里是你可以通过萤火虫与骨干网站加载只需运行一个例子:
var Chapter = Backbone.Model;
var chapters = new Backbone.Collection;
chapters.comparator = function(chapter) {
return chapter.get("page");
};
chapters.add(new Chapter({page: 9, title: "The End"}));
chapters.add(new Chapter({page: 5, title: "The Middle"}));
chapters.add(new Chapter({page: 1, title: "The Beginning"}));
chapters.pluck('title');
# OUTPUT
# ["The Beginning", "The Middle", "The End"]
注意事项比较如何返回存储在每章的页面属性的值。 Backbone的集合排序就像一个使用字符串或整数的sortBy,并且不遵循传统的-1,0,1比较方法。
您也可以将比较器设置为简单的命名属性,例如'chapters.comparator ='page'' http://backbonejs.org/#Collection-comparator – Joshua 2014-10-16 20:45:13
,如果你在正确的集合排序调用它应该工作:
collection.comparator = function (item) {
return item.get('field');
};
collection.sort();
有没有必要调用排序 – 2013-02-18 17:05:38
是定义比较时,集合intialized不是一种选择?为什么不? – 2011-05-20 03:21:52
发布更多代码。如何定义'collection'和'collectionObject'? – hyperslug 2011-05-20 05:58:03