角度范围值无法从同一控制器中的另一个功能进行访问

时间:2016-06-22 07:14:39

标签: angularjs angular-controller

在我的Angular控制器中有两个函数。通常它应该能够从其他函数访问$ scope值,因为它在同一个控制器中。但是我无法访问它。我添加了两个控制台function.First函数中的.log()检索范围值,因为我可以看到它在console中打印了值。但是在第二个函数中,它显示了一个未定义的变量。希望有人帮我解决这个问题。

以下是我的代码,

第一个功能

   //Get user id
    $scope.getUserId = function() {
        UserService.getCurrentUser().then(function(response) {
            if (response.query_status == "success") {
                $scope.userid = response.data.id;
                console.log('User id is: '+ $scope.userid);
            }
            else {
                $scope.userid = null;
            }
        }, function(error) {
            $scope.userid = null;
            console.log("Error : Failed to load user data...");
            console.log(error);
        });
    }

第二功能

   //Access user id
    $scope.accessUserId = function() {
        console.log('User id from other function is:'+ $scope.userid);
    }

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题。我需要使用Angular $ q.defer()方法。处理另一个函数的响应有一些延迟。