使用angularjs中的pascal translate翻译控制器内的数组

时间:2016-03-04 22:03:11

标签: angularjs translation

我在弄清楚如何在控制器中翻译我的数组时遇到了一些麻烦。

在我的控制器里面我做了类似的事情:

    var vm = this;

    $rootScope.$on('$translateChangeSuccess', function () {
        vm.salutation = $translate.instant('client.test');
        console.log(vm.salutation);
    });

    vm.test = 'test';


    vm.servicesData = {
        listOfServiceNames : [
            "sample",
            vm.salutation,
            vm.test,

        ]
    }

在视图中:

 <bootstrap-dropdown ng-model="vm.client.salutation"  data-placeholder="Aanhef" data-dropdown-data="vm.servicesData.listOfServiceNames"></bootstrap-dropdown>

console.log显示正确的字符串。但是当我看到前端时vm.salutation是空的。如何在这里正确使用翻译的线索?

1 个答案:

答案 0 :(得分:1)

如评论中所述,您应该将项目推送到listOfServiceNames数组,以便观察者触发并更新视图。

你需要

 $rootScope.$on('$translateChangeSuccess', function () {
        vm.salutation = $translate.instant('client.test');
        vm.servicesData.push(vm.salutation);        
        console.log(vm.salutation);
  });

vm.servicesData = {
    listOfServiceNames : [
        "sample",
         vm.test
    ]
}