【发布时间】:2014-10-28 15:07:54
【问题描述】:
我正在尝试使用.sort() 对我的集合进行排序,但是我似乎只能以升序对集合进行排序,集合的代码是这样的,
var ProjectCollection = Backbone.Collection.extend({
url: '/projects',
model: app.Project,
sort_key: "finish_date",
comparator: function (item) {
return item.get(this.sort_key);
},
sortByField: function(fieldName, orderType) {
console.log(fieldName, orderType);
this.sort_key = fieldName;
if(orderType == "acsending") {
this.sort(function(a, b){return a-b});
} else if(orderType == "descending") {
this.sort(function(a, b){return b-a});
}
}
});
sortByField 函数在选择菜单更改时从视图中触发,并触发此函数,
sortCollection: function(e) {
this.collection.sortByField($('.sort').val(), $('.order').val());
console.log(this.collection);
}
为什么我不能按降序排序?发送到集合函数的参数是正确的,并且 if 和 if else 会根据这些参数正确运行。
【问题讨论】:
标签: javascript sorting backbone.js backbone.js-collections