2

有没有办法通过另一个过滤器的输出来排序数组?我有这样的表达:

<li ng-repeat="sub in subscriptions">
  {{sub | subscriptionOutput}}
</li>

subscriptions是一个对象数组,其细节并不重要,subscriptionOutput是一个自定义过滤器。

现在,我想按subscriptionOutput过滤器的输出排序这个列表(按字母顺序)。我怎样才能做到这一点?我知道我可以编写一个函数并按此排序,但我希望有一种更巧妙的方式。

4

2 回答 2

3

您可以将过滤器连接在一起:

{{sub | subscriptionOutput | orderBy:"someKey"}}
于 2013-05-21T17:52:16.473 回答
3

我找到了一种相当巧妙的方法来做到这一点:

<li ng-repeat="sub in subscriptions | orderBy: $filter('subscriptionOutput')">
  {{sub | subscriptionOutput}}
</li>

合理地因为您必须$filter在某处添加范围:

$scope.$filter = $filter;
于 2013-05-21T18:11:05.630 回答