按翻译的值对ng-options进行排序

hoe*_*eni 12 angularjs

使用angular-translate翻译选择选项非常简单:

<select name="languageId"
  ng-options="p.id as ('LANGUAGE.'+p.id)|translate for p in Const.languages | orderBy:'name'">
Run Code Online (Sandbox Code Playgroud)

但是这样,选项按原始键排序,而不是按照原始键排序.有没有一种方法可以让我的列表按其翻译的价值排序,而无需在控制器中预先准备好该列表?

ste*_*itz 6

对我来说最简单的方法(角度1.2.24和角度转换2.14.0):

<select name="nationality" ng-model="person.nationality" ng-options="c.id as c.name | translate for c in Const.countries | orderBy:'name | translate' ">
Run Code Online (Sandbox Code Playgroud)

这个评论的作者可以归功于这篇评论的作者:https://github.com/angular-translate/angular-translate/issues/1064#issuecomment-267357441