将额外参数传递给AngularJS中的自定义排序函数

时间:2014-05-18 23:47:39

标签: javascript angularjs sorting

这是我的代码

<a href="" ng-click="predicate = 'productname'; reverse=false">Productname</a>
<a href="" ng-click="predicate = 'productprice'; reverse=false">Productprice</a>

迭代

 <div ng-repeat="sale in sales | orderBy:customSort">

海关功能

$scope.customSort = function(sale) {


 };

目前在customSort函数中,我得到了所有的销售数据,但我也希望将谓词值传递给函数,以便它可以进行相应的排序(如果点击名称则按名称排序,如果点击价格谓词则按价格排序)。 )

如何将谓词值传递给customSort函数?任何人都可以帮我解决这个问题吗?感谢。

1 个答案:

答案 0 :(得分:17)

您可以使用谓词调用自定义排序并返回一个闭包作为原始函数,现在您的函数可以访问谓词:

<div ng-repeat="sale in sales | orderBy:customSort(predicate)">

$scope.customSort = function(predicate) {
    return function(sale) {


    };
};