我有一个包含“firstname”和“lastname”属性的用户列表(确切地说,有六个用户)。通过执行fetch操作,下面的比较器按照“firstname”对它们进行排序,而且它工作得很好。
comparator : function (user) {
return user.get("firstname").toLowerCase();
}
但是如果我尝试稍后按不同的值,例如“lastname”对集合进行排序,它就无法工作。顺序保持不变。
this.collection.sortBy(function(user) {
return user.get("lastname").toLowerCase();
});
我做错了什么?
更新
所以,从sortBy返回的数据已经排序,但这对我并没有真正帮助,因为我的视图与集合相关联。如果我重置集合并将排序后的数组添加回集合中,则其比较器会发挥作用,并将其重新按“名字”顺序排序。
var sorted = this.collection.sortBy(function(user) {
return user.get("lastname").toLowerCase();
});