如何在骨幹集合已經被初始化後改變它的排序順序?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