orderBy:按用户选择的谓词和预定义的辅助排序

时间:2015-10-26 14:44:33

标签: javascript angularjs sorting

我试图首先按用户选择的谓词对结果表进行排序,然后按预定义的次要排序。

例如,我的ng-repeat设置如下:

<tr ng-repeat="line in model.resultList | orderBy:['-predicate', 'secondary_value'] | limitTo:model.pageSize:model.beginFrom">

...谓词在控制器范围内定义为$scope.predicate,并且存在根据用户选择更改此名称的逻辑。

我可以自行排序,只使用谓词(例如orderBy:predicate:reverse

我接近这个错误的方式吗?是否允许在orderBy数组中使用$ scope值?

1 个答案:

答案 0 :(得分:1)

只需删除引号即可。括号中没有引号的值应该是$scope

中定义的变量
orderBy: [predicate, 'secondary_value']

请注意[-predicate]不是有效的表达式。如果谓词值应该是动态的(取自$scope),那么变量$scope.predicate的值应包含在反向开头的连字符的值,例如:$scope.predicate = '-name';

fiddle