我试图首先按用户选择的谓词对结果表进行排序,然后按预定义的次要排序。
例如,我的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值?
答案 0 :(得分:1)
只需删除引号即可。括号中没有引号的值应该是$scope
orderBy: [predicate, 'secondary_value']
请注意[-predicate]
不是有效的表达式。如果谓词值应该是动态的(取自$scope
),那么变量$scope.predicate
的值应包含在反向开头的连字符的值,例如:$scope.predicate = '-name';