AngularJS:在orderBy之前的ng-repeat过滤器属性

时间:2018-04-10 11:06:25

标签: angularjs angularjs-ng-repeat angularjs-orderby

我可以在ng-repeat中为orderBy子句添加额外的过滤器,以便在orderBy完成工作之前处理给定的值吗?

我有像这样的md-select

  <md-option ng-repeat="element in list | orderBy: 'name': reverse" 
             ng-value="element">
    <span>{{element.name | translate}}</span>
  </md-option>

这由基础名称&#39;排序。 (例如ENUM_ACCEPT,ENUM_CANCEL ...)但不是翻译后的呈现名称(接受,取消...),这可能会因语言而改变,因此,顺序也应该改变。

2 个答案:

答案 0 :(得分:0)

试试这个

  <md-option ng-repeat="element in list | translate for element in list | orderBy: 'name': reverse" 
         ng-value="element">
  <span>{{element.name | translate}}</span>
 </md-option>

您面临的原因是选项按其原始名称而非其翻译名称排序。添加translate for element in list过滤器可以解决您的问题。

答案 1 :(得分:0)

这对我有用:

<md-option ng-repeat="element in list | translate for element in list | orderBy: 'name | translate': reverse" 
         ng-value="element">
  <span>{{element.name | translate}}</span>
 </md-option>