我正在使用angular-fullstack构建单个页面应用程序,并且在我的一个控制器中,我试图将用户的ID分配给变量。代码$scope.getCurrentUser = Auth.getCurrentUser;
退货
function () {
return currentUser;
}
这对在我的视图中显示效果很好,因为我的角度代码可以解释该功能并使用
{{getCurrentUser()._id}}
显示用户ID,我假设它会评估Promise并向视图显示代码。我的问题是如何为控制器中的变量分配
$scope.getCurrentUser = Auth.getCurrentUser;
?每当我这样做时,我都会得到未定义的变量。我试过了:$scope.getId = Auth.getCurrentUser()._id;
console.log($scope.getId); //undefined
$scope.getId = Auth.getCurrentUser();
console.log($scope.getId._id); //undefined
我已经阅读了诸如this和this之类的论坛帖子,这些帖子解释了这些方法应按原样返回。另一个post基本上与我的问题相同,但是我仍然对如何存储用户ID感到困惑,因为答案暗示问题是console.log。任何帮助将不胜感激,谢谢。
最佳答案
请尝试以下操作,并让我知道如何解决:
angular.module('yourModuleName').controller('YourController', ['$scope', 'Authentication',
function($scope, Authentication) {
var authentication = Authentication;
$scope.getId = authentication.user._id;
console.log($scope.getId);
}
]);
确保控制器中包含
Authentication
。