从Angular App访问当前用户信息

时间:2016-05-24 20:48:39

标签: angularjs

我的应用程序前端是Angular SPA,后端是asp.net webapi。我有一个问题是从应用程序的其他部分访问用户配置文件信息:

当用户登录时,必须可以从应用程序的所有部分访问配置文件信息。我将基本配置文件信息放在作为顶级控制器的homeController中的对象中,但是当我从子控制器访问此对象时,我在使用其中一个用户配置文件属性时遇到了“未定义”错误,尽管我可以得到整个对象。当我使用console.log()来显示对象时,没关系,所有属性都在那里,但是当console.log()显示其中一个属性时,控制台会显示'undefined'或注意到那里显示。我做错了什么?

我的代码:

在homeController中(在index.html的tab中定义):

$scope.currentUser = authService.authentication;

console.log($scope.currentUser); // shows all properties ok.

在userDashController中(在app.js中由route config访问的部件视图中定义):

$scope.fromCurrentUser = $scope.currentUser;

console.log($scope.fromCurrentUser); // show all properties ok

console.log($scope.fromCurrentUser.userAvatarImgUrl); // blank in the console

var comaId = $scope.currentUser.orgId;

console.log(comaId); // blank in the console

即使我尝试注入authService,它在用户登录时设置用户配置文件,我遇到了类似的问题。或者我尝试使用$ rootScope,但仍无法正常工作。

不确定我做错了什么(我是Angular的新手,仅仅几个月)

请帮忙。提前致谢

1 个答案:

答案 0 :(得分:0)

你曾经使用过$ localStorage吗?我在使用firebase时遇到了$ rootScope的问题。但是,如果您使用$ rootScope来保持用户身份验证并使用它来检查它是否为null,则会发现隐藏其他功能。