谁能告诉我如何将登录的用户数据存储到 AngularJS 的全局范围内,
我的登录服务是这样的
App.service('Auth', function($http){
return {
isLogin:function(callback){
$http.get('api/auth/checkLogin').success(function(res){
callback(res);
});
},
login:function(user, callback){
$http.post('api/auth/login', user).success(function(res){
callback(res);
});
},
logout:function(callback){
$http.get('api/auth/logout').success(function(res){
callback(res);
});
}
};
});
我在我的 Controller 中使用的是这样的
$scope.isLogin = false;
$scope.UserData = {};
$scope.login = function(user){
Auth.login(user, function(res){
if(res.status){
$scope.isLogin = true;
$scope.loginBoxShown = false;
$scope.UserData = res.data;
$location.path('/Dashboard');
}
});
};
它在第一次运行时工作正常,但一旦我重新加载页面,变量 $scope.isLogin
和 $scope.UserData
将重置为其默认值。
在我的 $scope.logout();
函数删除它们之前,有没有办法将它们永久存储在全局范围内。
最佳答案
我通常使用 ngStorage 来保存用户数据。发现于 https://github.com/gsklee/ngStorage
An AngularJS module that makes Web Storage working in the Angular Way. Contains two services: $localStorage and $sessionStorage.
希望对您有所帮助。
关于javascript - 如何在 AngularJs 中存储用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23200403/