【发布时间】:2014-06-18 03:01:33
【问题描述】:
嗯,我需要在不同的角度控制器或任何函数中使用一个变量,我可以这样做,但在这种特殊情况下,我从服务或函数中获取其中一个变量的值,你想要什么调用它,这是代码
//global variable userdata
userdata = {};
ng.tcts.service('$user', function($http, $q, $window, $boots){
return{
login: function(data){
var deferred = $q.defer();
$http({
method:'POST',
url:ng.api+'/log/in',
data:{
data:data
},
headers:{'Content-type':'application/x-www-form-urlencoded'}
}).success(function(response, status, headers, config){
if(response.success){
console.log(response);
//userdata assignation
userdata = response.data;
deferred.resolve([response.respnum, response.success, response.report, response.data]);
}
else{
deferred.resolve([response.respnum, response.success, response.report, response.data]);
}
}).error(function(response, status, headers, config){
deferred.reject([response.respnum, response.success, response.report]);
});
return deferred.promise;
}
);
如您所见,我在成功函数中为 userdata 分配 response.data 的值,当我在函数环境中使用它时,分配工作正常,但是当我尝试在它之外使用它时,对象是空的,希望你能帮我解决这个问题,谢谢
【问题讨论】:
-
你在外面怎么称呼它?
-
你是什么意思,变量还是服务?服务之类的data = { username: $scope.username, password: $scope.password }; var promise = $user.login(data);
标签: javascript angularjs variables functional-programming global-variables