假设我有一条路线,例如
/routes/pets.js
export default Ember.Route.extend({
model: function() {
return this.store.findAll('pet').then(function(pets) {
return pets.sortBy('name', 'ownerName');
});
}
});
将按名称排序,然后按orderName排序。但是如果我想按一个属性升序和一个降序排序呢?
很容易做一个降序,如下:
return pets.sortBy('name').reverse();
但是我看不出如何处理2个或更多的参数?
答案 0 :(得分:1)
我没有尝试过,但我相信你可以这样做:
// route
export default Ember.Route.extend({
model: function() {
return this.store.findAll('pet');
}
});
// controller
export default Ember.Controller.extend({
customSorting: ['name', 'ownerName:desc'],
sortedPets: Ember.computed.sort('model', 'customSorting')
});
否则,只需实现自定义排序功能,如文档中所述:http://emberjs.com/api/classes/Ember.computed.html#method_sort