我正在使用backbone的集合模型來顯示骨幹視圖上的字符串排序列表。這裏是模型和比較:當使用比較器時,骨幹集合是半排序
var MenuItems = Backbone.Collection.extend({
comparator: function (a, b) {
if (a.get('name') < b.get('name')) {
return 1;
} else if (b.get('name') > a.get('name')) {
return -1;
}
},
model: MenuItem,
url: '/items'
});
當代碼運行,只有在列表中的12條的前六個排序,其餘部分保持無序。當使用comparator: 'name'
時,列表完全排序,但是當使用某個函數時,會發生此問題。
任何人都知道爲什麼會發生這種情況?這可能是一個Backbone錯誤嗎?我正在使用Backbone 1.1.0
你可以發佈正在排序的名稱項目嗎? – Divey
[「sort」比較函數有兩個模型,如果第一個模型應該在第二個模型之前返回-1,如果它們具有相同的等級,則返回0;如果第一個模型應該在第二個模型之後,則返回1。 /backbonejs.org/#Collection-comparator)。您錯過了三種情況之一,所以所有投注都關閉。 –
@Divey:{Chili con carne,芝士漢堡,披薩,凱撒沙拉,花園沙拉,布朗尼,胡蘿蔔,芝士蛋糕,青豆,土豆泥,意大利麪和肉丸,番茄沙拉}正在分類爲{Carrots,Tomato salad,Spaghetti and肉丸,披薩,土豆泥,青豆,花園沙拉,辣椒肉醬,芝士蛋糕,芝士漢堡,凱撒沙拉,布朗尼} – Branka