我在弄清楚如何在控制器中翻译我的数组时遇到了一些麻烦。
在我的控制器里面我做了类似的事情:
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
是空的。如何在这里正确使用翻译的线索?
答案 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
]
}