Javascript 从控制器调用api时,在回调(角度指令)中获取返回值
我在Angularjs中创建了一个指令,其中需要使用getUsers()方法,以便调用控制器的函数 控制器的函数被调用。但控制器的函数正在返回一些api调用的响应。我想在回调函数中得到该响应。如何实现 下面是我的代码: 指导- $scope.getUsers({partnerID:obj.\u id}) 内部控制器Javascript 从控制器调用api时,在回调(角度指令)中获取返回值,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我在Angularjs中创建了一个指令,其中需要使用getUsers()方法,以便调用控制器的函数 控制器的函数被调用。但控制器的函数正在返回一些api调用的响应。我想在回调函数中得到该响应。如何实现 下面是我的代码: 指导- $scope.getUsers({partnerID:obj.\u id}) 内部控制器 scope.getUsers = function(id){ if(id){ var searchObj = {};
scope.getUsers = function(id){
if(id){
var searchObj = {};
searchObj.role = "serviceagent";
searchObj.partner_id = id;
userinfoFactory.get('',searchObj).then(function(data){
$scope.phlebos = angular.copy(data.response);
})
}
}
我想返回$scope.freebos
我将如何做到这一点???也许可以尝试在控制器中执行以下操作:
scope.getUsers = function(id){
var deferred = $q.defer();
if(id){
var searchObj = {};
searchObj.role = "serviceagent";
searchObj.partner_id = id;
userinfoFactory.get('',searchObj).then(function(data){
$scope.phlebos = angular.copy(data.response);
deferred.resolve($scope.phlebos);
})
}
return deffered.promise;
}
在你的指令中:
$scope.getUsers({partnerID:obj._id}).then(function(response) {
// Do whatever you want with the returned value
});
也许可以尝试在控制器中执行以下操作:
scope.getUsers = function(id){
var deferred = $q.defer();
if(id){
var searchObj = {};
searchObj.role = "serviceagent";
searchObj.partner_id = id;
userinfoFactory.get('',searchObj).then(function(data){
$scope.phlebos = angular.copy(data.response);
deferred.resolve($scope.phlebos);
})
}
return deffered.promise;
}
在你的指令中:
$scope.getUsers({partnerID:obj._id}).then(function(response) {
// Do whatever you want with the returned value
});
您可以简单地返回响应<代码>返回数据。看看这是否有帮助。我试过了,但没有成功。你可以简单地返回响应<代码>返回数据。看看这是否有帮助。我试过了,但没有工作。我试过了,但得到了typeerror,说。然后(函数(响应){})undefined@HetalSangoi您是否在控制器中注入了
$q
?太棒了!上一个错误是因为我写了defered.promise
而不是deferred.promise
否?我尝试了这个,但是得到了typeerror。然后(函数(响应){})的undefined@HetalSangoi您是否在控制器中注入了$q
?太棒了!上一个错误是因为我写了defered.promise
而不是deferred.promise
否?