我正在使用带有自定义功能的角度排序。它看起来像这样:
对象:
$scope.array = [{'field1': some_value,
'field2': some_value,
...
'field10': some_value},
...
{'field1': some_value,
...
'field10': some_value} // Field can be more in the future
]
控制器:
$scope.array = $filter('orderBy')($scope.array, [function(item) {
return customOrderFunction(item);
}, 'field1', 'field2', 'field3', 'field4', 'field5',...,'field10']);
但这并不漂亮&&该领域将来可能会更多。我尝试制作一个字符串以减少代码大小。
var fieldString = ['field1', 'field2', ... 'field10'];
$scope.array = $filter('orderBy')($scope.array, [function(item) {
return customOrderFunction(item);
}, fieldString.join()]);
但它给出了一个错误。有没有办法用orderBy实现这一点?或者有没有可能用JavaScript做到这一点?