如何在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

上一篇: How to store User Data in AngularJs

下一篇: AngularJS: $scope is not defined?