一段时间以来,我一直在努力解决这个问题。无法真正找到可行的解决方案。
我的目标:我正在尝试将 Angular 平移的值(使用 $translate 完成)分配给全局变量,以便稍后可以将其用于动态变量值分配。翻译包含在一个 json 文件中,并在 angular.module(..).config(..) 中配置
我的js文件:
angular.module('myApp').controller('MyCtrl',
function ($translate, $scope) {
var temp_text='';
$translate(['Text1']).then(function (translations) {
temp_text=translations.Text1;
alert(temp_text);
});
alert(temp_text);
});
问题是第一个弹出窗口的 temp_text 值为空,第二个弹出窗口的值为正确值。
如何将翻译的值保存在全局变量中以供将来使用?
最佳答案
您可以使用 $rootScope 来存储应用程序中所有 Controller 通用的变量或数据,这是最方便的方法。
你的 Controller 应该是这样的:
angular.module('myApp').controller('MyCtrl',
function ($translate, $scope,$rootScope) {
var temp_text='';
$translate(['Text1']).then(function (translations) {
temp_text=translations.Text1;
$rootScope.myGlobalVariable=temp_text;
});
});
这是一个working demo
关于javascript - 如何通过 Angular 翻译将翻译值存储在全局变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35838537/