试图通过模型从控制器调用 $resource 到服务,无法将响应返回给控制器
Trying to make a $resource call from a controller through a model to a service, can't get the response back to the controller
我有一个依赖模型的控制器。它调用
AccountModel.saveAccount(vm.Account,function(data){
response = data;
},function(data){
response = data;
});
模型调用服务的保存函数:
return AccountService.save(request,function(resp){
return resp;
},function(resp){
return resp;
});
那个函数看起来像这样:
function save(Account) {
return AccountResource.save(Account, function (resp) {
return resp;
}, function (resp) {
return resp;
});
}
想法是,保存功能将 return 对模型的响应,模型将 return 响应发送到控制器,控制器稍后会做其他事情。但是,none 正在发生这种情况。
响应(在控制器中)仍未定义。我该如何解决这个问题?
Angular 的服务有点不同,保存方法 returns 和对象:
{$promise: promisveValue, $resolve: something}
所以要正确使用它:
myResource.save(resouceObj, handler);
或
myResource.save().$promise.then(handler);
这是您应该做的事情的草稿,请尝试将其集成到您的代码中。
我有一个依赖模型的控制器。它调用
AccountModel.saveAccount(vm.Account,function(data){
response = data;
},function(data){
response = data;
});
模型调用服务的保存函数:
return AccountService.save(request,function(resp){
return resp;
},function(resp){
return resp;
});
那个函数看起来像这样:
function save(Account) {
return AccountResource.save(Account, function (resp) {
return resp;
}, function (resp) {
return resp;
});
}
想法是,保存功能将 return 对模型的响应,模型将 return 响应发送到控制器,控制器稍后会做其他事情。但是,none 正在发生这种情况。
响应(在控制器中)仍未定义。我该如何解决这个问题?
Angular 的服务有点不同,保存方法 returns 和对象:
{$promise: promisveValue, $resolve: something}
所以要正确使用它:
myResource.save(resouceObj, handler);
或
myResource.save().$promise.then(handler);
这是您应该做的事情的草稿,请尝试将其集成到您的代码中。