Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将额外参数传递给AngularJS中的自定义排序函数_Javascript_Angularjs_Sorting - Fatal编程技术网

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

Javascript 将额外参数传递给AngularJS中的自定义排序函数,javascript,angularjs,sorting,Javascript,Angularjs,Sorting,这是我的密码 <a href="" ng-click="predicate = 'productname'; reverse=false">Productname</a> <a href="" ng-click="predicate = 'productprice'; reverse=false">Productprice</a> 当前,在customSort函数中,我获取所有销售数据,但我还希望将谓词值传递给函数,以便它可以相应地进行排序(如果

这是我的密码

<a href="" ng-click="predicate = 'productname'; reverse=false">Productname</a>
<a href="" ng-click="predicate = 'productprice'; reverse=false">Productprice</a>
当前,在customSort函数中,我获取所有销售数据,但我还希望将谓词值传递给函数,以便它可以相应地进行排序(如果单击名称,则按名称排序;如果单击价格谓词,则按价格排序)


如何将谓词值传递给customSort函数?有人能帮我吗?谢谢。

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

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

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


    };
};

$scope.customSort=函数(谓词){
退货功能(销售){
};
};

在标记中使用冒号分隔参数@charlietfl这应该是一个answer@charlietfl似乎只是需要一点时间expression@MatthewMcveigh也可以使用自定义筛选功能,而无需使用排序依据,不是100%清楚这里的意图是什么,因为混合了几个问题感谢您的响应人员。这正是我想要的。非常感谢,伙计。这解决了我将$viewValue传递到返回函数的问题,但是我想知道这样的性能如何。我注意到,在每次击键时,自定义排序“工厂”都会被调用@jusopi如果只在每次击键时调用它,我认为它不太可能有任何明显的影响。如果在这种类型的每次迭代中都调用它,那么可能会有麻烦,但这不应该发生
$scope.customSort = function(sale) {


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

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


    };
};