我正在使用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


我已经阅读了诸如thisthis之类的论坛帖子,这些帖子解释了这些方法应按原样返回。另一个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

09-25 18:00