我的应用程序前端是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的新手,仅仅几个月)
请帮忙。提前致谢
答案 0 :(得分:0)
你曾经使用过$ localStorage吗?我在使用firebase时遇到了$ rootScope的问题。但是,如果您使用$ rootScope来保持用户身份验证并使用它来检查它是否为null,则会发现隐藏其他功能。