如何在angularjs中存储用户详细信息以供进一步使用

如何在angularjs中存储用户详细信息以供进一步使用,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我正在使用angularjs开发web应用程序。我在整个应用程序中都需要用户的电子邮件地址,如何存储它以供进一步使用 目前我正在做的是: 我已经创建了一个用户服务 'use strict'; var module = angular.module('moduleName'); module.factory('UserService',['$resource',function($resource){ var currentUserEmail = null; return {

我正在使用angularjs开发web应用程序。我在整个应用程序中都需要用户的电子邮件地址,如何存储它以供进一步使用

目前我正在做的是:

我已经创建了一个用户服务

'use strict';

var module = angular.module('moduleName');

module.factory('UserService',['$resource',function($resource){
    var currentUserEmail = null;
    return {
        getUserResource : function(){
            return $resource('users',{email:'@email'});
        },
        saveCurrentUserEmail : function (email){
            currentUserEmail = email;
        },
        getCurrentUserEmail : function (){
            return currentUserEmail;
        }
    };
}]);
登录时,我使用用户服务存储用户电子邮件地址:

UserService.saveCurrentUserEmail($scope.username);
现在,当我转到控制器中的另一个视图时,用户电子邮件就是我所期望的

console.debug("Current User email "+UserService.getCurrentUserEmail());
打印用户的电子邮件地址

但是当我用(ctrl+f5)刷新页面时。则当前用户电子邮件为空

Current User email null

我做错了什么,或者应该如何保存此电子邮件地址以供进一步使用?

您收到打印的用户电子邮件,因为在打印之前,您调用了服务
UserService.saveCurrentUserEmail($scope.username)

现在,当您刷新页面(ctrl+f5)时,不会调用此服务,因此会将其打印为null,因为它的初始化值为null


因此,当页面加载时,您需要调用
saveCurrentUserEmail

在页面刷新时,您需要调用服务器检查您是否登录并更新

$scope.username 
并使用

UserService.saveCurrentUserEmail($scope.username);


您可以使用浏览器中的客户端存储或使用cookie来存储用户信息。$cookieStore要存储用户信息,请使用$cookieStore,而不是使用服务。 $cookieStore

电子邮件地址
例如是-
”a@a.com“


谢谢,但用户电子邮件在此之后为空,我无法存储它。
//That's how i am assigning value
$cookieStore.put('emailAddress', $scope.user.emailAddress);

//thats how i am retrieving it
addr = $cookieStore.get('emailAddress');