如何迭代数组中的元素并使用angular-translate

时间:2015-12-17 17:00:12

标签: javascript angularjs json angular-translate

我有一个包含一些变量的json文件,包括一个数组。在我的模板中,我使用ng-repeat来遍历此数组并显示每个元素。数组中的元素数量可以更改,因为通过Web服务调用检索json。

现在我想使用angular-translate来启用多种语言。我正在尝试使用angular-translate-loader-url。

问题在于我不知道如何在ng-repeat中使用它。可以通过指定其键来访问这些值。在通常的情况下,你知道钥匙和钥匙的数量,但在我的情况下并非如此,它们都是动态的。我不太关心关键名字。我需要的是一个包含所有这些键的范围变量,以便我可以迭代。我没有看到在范围变量中获取数据的方法......

我可以看到,根本问题在于我有一个有序数组中的字符串,并且这似乎不受angular-translate的支持。什么是好的解决方案?

1 个答案:

答案 0 :(得分:2)

您将要创建自定义过滤器,然后将过滤器传递到转发器...

... E.g

myApp.filter('translateFilter', function($translate){
    return function(input, param){
        //Iterate through each item, translate using $translate, then return the translated items
    }
});

然后使用您可以使用您想要的过滤器:

<li ng-repeat="car in cars | translateFilter:search">
    {{ car.name | translate }}
</li> 

请参阅以下内容以获取完整示例:AngularJS and i18n : apply ng-repeat filters after translating list items properties