我的工作MEAN应用程序,用户登录成功后,我想在localStorage的保存返回的用户数据在浏览器中,这样我可以使用它进一步,我使用ngStorage模块。我可以在浏览器的本地存储中保存用户数据。这是我在的LoginController代码:
function loginController($http, $location, $rootScope,$localStorage){
var vm = this;
vm.signIn = signIn;
function signIn() {
$http({
url: '/login',
method: 'post',
data: vm.login
}).then(function(respond) {
if(respond.data){
$localStorage.userData = respond.data;
var info = $localStorage.userData;
$rootScope.userInfo = info;
$location.path('/dashboard/'+respond.data._id);
}else{
$location.path('/');
}
没有当我在另一个控制器我可以得到存储在$ localStorage的价值访问$ rootScope。即使在我的Chrome浏览器中,我可以从检查数据存储在$ localStorage中看到。 但是当我刷新我页我可以看到仍然存在的localStorage但不是在我的$ rootscope在浏览器中的数据。我的rootScope在页面刷新后获取空数据,我真的很感激任何有关如何访问这些数据并存储在rootScope中的建议。
你可以在使用ng-init模板初始化的时候触发一些初始化函数,并从存储中恢复数据。或者你可以写状态解析函数做同样的.. –
$ rootScope行为像JavaScript变量,即它得到您使用$ rootScope当你重装location.why破坏时,数据可以很容易地通过$ localStorage的在任何点访问你的申请。 –
@AlexRumbaNicked我们可以访问它设置一个控制器上,并在另一个控制器 – jsgeek