这个
orderBy
表达式可以是getter函数。此函数将以每个项目作为参数调用,返回值将用于排序。
$scope.getterFn = function(item) {
if ($scope.dynamicOrder == 'f9.id') {
return item.f9.id;
} else if ($scope.dynamicOrder == 'name') {
return item.name;
} else {
return item;
}
};
用法:
<button ng-click="dynamicOrder = 'f9.id'" class="btn">Sort by rating</button>
<button ng-click="dynamicOrder = 'name'" class="btn">Sort alphabetic</button>
<li ng-repeat="item in cumulus.items | orderBy: getterFn">
<!-- ... -->
</li>
有关详细信息,请参阅