在我的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);
}
答案 0 :(得分:0)
我能够解决这个问题。我需要使用Angular $ q.defer()方法。处理另一个函数的响应有一些延迟。