angular-translate ad ng-options

Edd*_*ddy 9 ng-options angular-translate

我正在尝试翻译选择下拉列表,我不喜欢我这样做的方式,因为它很麻烦,它绕过了整个角度转换框架.

区域设置数据看起来像{"lang":{"label":"text","select":{"k1":"var1","k2":"var2"}}}如果我选择"选择"在控制器范围内的成员,我可以在select的ng-options中写一些类似"k as for(k,v)in scopedvar"的内容.

基本上我喜欢翻译来做语言解决,然后开始退出并返回我的选项的本地化地图.如果它有意义,例如:"k为v(for,k,v)in'select'| translate",但当然不会.

有没有人面临(并解决)此问题?

TIA,Edoardo

Cai*_*tos 23

我没有完全得到你想要实现的东西,但我会把一些代码用于重新加载选项的翻译.翻译过滤器.

假设您将此json作为翻译的键/值:

var english = {"lang": {
                 "label": "text", 
                 "select": {
                    "k1": "var1", 
                    "k2": "var2"
                 }}
              };
Run Code Online (Sandbox Code Playgroud)

并且您的控制器会创建一个选项列表,如下所示:

$scope.optionsList = [
    {val: 'var1', translationKey: 'lang.select.k1'},
    {val: 'var2', translationKey: 'lang.select.k2'}
];
Run Code Online (Sandbox Code Playgroud)

你应该在ng-options表达式中的选项标签之后插入翻译过滤器:

<select ng-model="selectedOpt" 
        ng-options="opt.val as opt.translationKey | translate for opt in optionsList">
</select>
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!