如何通过角度平移在全局变量中存储转换的值

时间:2016-03-07 07:42:15

标签: javascript angularjs

我一直试图解决这个问题一段时间了。无法找到可行的解决方案。

我的目标:我正在尝试将角度转换的值(使用$ 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值为空白,第二个弹出窗口的值为正确值。

如何在全局变量中保存翻译的值以供将来使用?

1 个答案:

答案 0 :(得分:2)

您可以使用$ rootScope存储应用中所有控制器通用的变量或数据,这是最方便的方式。

你的控制器应该是这样的:

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