javascript - 如何在 AngularJs 中存储用户数据

标签 javascript 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);
            });
        }
    };
});

我在我的 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/

相关文章:

javascript - FullCalendar.js 调整移动标题

javascript - 如何实现 Symbol.iterator?

javascript - 单击按钮后加载图像

javascript - 从选择列表中选择一个选项时如何触发 Vue 事件

php - 使用 Angular 对 json 执行 CRUD 操作。?

AngularJS Accordion 全部展开 全部折叠

angularjs - 使用 templateUrl 测试 Angular 指令

angularjs - 错误: “Selectors not implemented”

javascript - 如何刷新 AngularJs Kendo Grid?

javascript - 使用 this.setState 后 react 不呈现正确的状态值