使用 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
]
}
我在弄清楚如何在控制器内转换我的数组时遇到了一些问题。
在我的控制器中,我做了这样的事情:
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
]
}