1

我正在使用angular-fullstack来构建单页应用程序,并且在我的一个控制器中,我试图将用户的 id 分配给一个变量。编码

$scope.getCurrentUser = Auth.getCurrentUser;

返回

function () {
        return currentUser;
}

这适用于在我的视图中显示,因为我的角度代码可以解释函数并显示用户 ID {{getCurrentUser()._id}},我假设使用该用户 ID 评估承诺并将代码显示到视图。

我的问题是如何分配$scope.getCurrentUser = Auth.getCurrentUser;给控制器中的变量?每当我这样做时,我都会得到未定义的变量。我试过了:

$scope.getId = Auth.getCurrentUser()._id;
console.log($scope.getId); //undefined

$scope.getId = Auth.getCurrentUser();
console.log($scope.getId._id); //undefined

我已经阅读过这样的论坛帖子这些帖子解释了这些方法应该按原样返回。另一个与我的问题基本相同的帖子,但我仍然对如何存储用户 ID 感到困惑,因为答案暗示问题是 console.log。任何帮助将不胜感激,谢谢。

4

1 回答 1

0

尝试以下方法,让我知道结果如何:

angular.module('yourModuleName').controller('YourController', ['$scope', 'Authentication',
    function($scope, Authentication) {

        var authentication = Authentication;
        $scope.getId = authentication.user._id;

        console.log($scope.getId);

    }
]);

确保Authentication包含在您的控制器中。

于 2015-05-17T20:37:24.190 回答