我有以下情况(服务中的翻译过滤器,在HTML文件中使用)
// serviceFile
angular.module('myModule')
.service('translation')
.filter('translate', function(translation) {
// translate stuff
return 'translatedString';
});
// controllerFile
angular.module('myModule')
.controller('StringsController', function(blabla, translation) {
$scope.mySort = function() {
return "some magic should happen here";
};
});
// htmlFile
<tr ng-repeat="string in strings">
<td>
{{ string | translate: 'name' }}
</td>
</tr>
(以上代码有效,但由于我缺乏经验,可能省略了一些重要部分)
我的问题是我被要求根据翻译的值(类似string in strings | orderBy: mySearch
)进行排序,我找不到如何从StringsController.mySearch
P.S。服务器不返回过滤器(不知道这是否相关)
答案 0 :(得分:4)
您可以看到guide for filters
因此,在您的情况下,取决于定义.filter('translate',
,您可以像
.controller('StringsController', function(blabla, $filter) {
//simple transtale
var translatedString = $filter('translate')(stringForTranslate);
//ordering
var ordered = $filter('orderBy')(arrayForOrdering,function(el){ return $filter('translate')(el); })
});