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

Translate array inside controller using pascal translate in angularjs

我在弄清楚如何在控制器内转换我的数组时遇到了一些问题。

在我的控制器中,我做了这样的事情:

    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 是空的。我可以在这里正确使用翻译的任何线索?

如评论中所述,您应该将项目推送到 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
    ]
}