我有要排序的项目,我的项目具有模型上的计算属性,包括winningbiddingclosedwatching

这些属性中的每一个都是对还是错

我想对项目进行排序,以使所有获胜项目都在第一位,然后是所有竞标项目,然后是所有观看项目,然后是所有已关闭项目。

我该如何实现?我是否需要在一个排序函数中全部完成操作,还是可以指定多个函数进行排序?

我已经尝试过这种方法来赢球,但是我不确定从这里出发

sortedItems: Ember.computed.sort('filteredItems',function(a,b){
  if(a.get('winning') == true && a.get('winning') != b.get('winning')){
    return -1;
  }
  if(a.get('winning') == b.get('winning')){
    return 0;
  }
  if(a.get('winning') == false && a.get('winning') != b.get('winning')){
    return 1;
  }
}),

最佳答案

我建议使用这样的排序功能。它按出价状态分组。

function (a, b) {
    var status = { winning: 1, bidding: 2, closed: 3, watching: 4 };
    return status[a.bidStatus] - status[b.bidStatus];
}

09-19 15:04