如何在AngularJs中存储用户数据
任何人都可以让我知道如何将登录的用户数据存储到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);
});
}
};
});
我在我的控制器中使用同样的东西
$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找到
AngularJS模块使Web存储工作在Angular Way中。 包含两个服务:$ localStorage和$ sessionStorage。
希望能帮助到你。
这个问题并不是非常具体的。 要跨页面重新加载数据,基本上有两个选项localStorage
(以及它的小妹妹sessionStorage
)或cookies
。
这两种技术都已在其他SO答案中进行了介绍。
链接地址: http://www.djcxy.com/p/77825.html