可能是一个非常苛刻的问题,我很遗憾,但我正在使用一个函数来对结果进行排序。 每个结果都有一个价格和一个加权(基本上是优先级)
我希望按价格排序结果,但结果价格相同,需要按重量排序。我也可以颠倒顺序,所以低 - 高/高 - 低。
这是一个带有一些可疑数据的plunker:
http://plnkr.co/edit/VH2WvyJMsLSTpWJawT2f?p=preview
在我的应用程序中(我有数百个结果),我使用了这个
$scope.orderByFunction = function (result) {
if ($scope.orderBy == 'price-low-high') {
return result.totalPrice.amount + result.boost;
}
if ($scope.orderBy == 'price-high-low') {
return -result.totalPrice.amount + result.boost;
}
else return result.totalPrice.amount + result.boost;
};
虽然我认为它最初是成功的,但它有一些错误,因为它显示价格高于低价格的结果。感谢我很难证明这一点,所以我想我先问一下这个问题:)
答案 0 :(得分:0)
在https://groups.google.com/forum/#!topic/angular/XAJ2hyeRSTU
回答这是html http://plnkr.co/edit/VH2WvyJMsLSTpWJawT2f?p=preview orderBy:[orderByPrice,orderByPriority]
和JS
$scope.orderByPrice = function (result) {
if ($scope.orderBy == 'price-low-high') {
return result.amount;
}
if ($scope.orderBy == 'price-high-low') {
return -result.amount;
}
else return result.totalPrice.amount;
};
$scope.orderByPriority = function (result) {
return result.priority;
};