刷新后无法保留$ rootScope值

问题描述:

我是angularJS的新手,并且在切换多种语言的应用程序上工作。 当我改变语言并刷新页面后,它将切换到默认语言(即英语)。 请建议我应如何$ rootScope的值,以便它不会刷新页面

我CTRL ---------

myApp.controller(“recordCtrl”功能后更改($范围,$翻译,$ HTTP,altaMdlSvcs,$ rootScope,$的CookieStore,altaPageActionSvcs,$位置$ rootScope,$ stateParams){$ scope.globalLang = '';

$http.get("metadata/record.json").then(function(response) { 
    $scope.recordArray = response.data.records; 
}); 
$http.get("metadata/language.json").then(function(response) { 
    $rootScope.languages = response.data; 
}); 


var locale = localStorage.getItem("token"); 
//$translate.use(locale); 


$scope.changeLanguage = function (langObj) { 
    $scope.globalLang = langObj.lang.langCode; 
    localStorage.setItem("token", $scope.globalLang); 
    console.log("lower"+$scope.globalLang+"................"); 
    $translate.use(langObj.lang.langCode); 
}; 
$scope.openModel = function(langObj) { 
    var requestMap = { 
      "templateHtml" : '/I18nDemo/html/model.html', 
      "controllerName" : 'modelCtrl', 
      "doAction" : $scope.changeLanguage, 
      "lang" : langObj, 
      "parent" : $scope 
    }; 
    altaMdlSvcs.customOpen(requestMap); 
}; 

});

+2

使用浏览器cookie或会话保存信息 –

+0

或本地存储 –

通过刷新页面(f5),您将从内存中擦除$ rootcope。您的应用程序重启。

如上所述,您应该使用某种存储。这样,您可以保存用户首选项,并在他回到您的应用程序时再次使用它。

看一看:https://www.npmjs.com/package/ng-storage