Angularjs 角度-如何使用$resource

Angularjs 角度-如何使用$resource,angularjs,angularjs-scope,angular-ui,Angularjs,Angularjs Scope,Angular Ui,我有一个控制器,它可以正确地为一个有角度的用户界面工作。如何将服务器调用添加为资源 var receivableApp = angular.module('receivableApp', ['ui.bootstrap', 'ngResource']) .controller('ReceivableController', function ($scope,$http) { $scope.Debtors = function (term) { return

我有一个控制器,它可以正确地为一个有角度的用户界面工作。如何将服务器调用添加为资源

var receivableApp = angular.module('receivableApp', ['ui.bootstrap', 'ngResource'])
.controller('ReceivableController', function ($scope,$http) {
    $scope.Debtors = function (term) {        
        return $http.get('/Receivable/GetDebtors/?term=' + term).then(function (response) {                
            return response.data;
        });
    };
});
这将添加一个带有默认
GET
的服务
getdeborts
,以及其他REST处理程序

现在,要在控制器内进行呼叫,您可以执行以下操作:

debtControllers.controller('DebtCtrl', ['$scope', 'GetDebtors',
    $scope.debts = GetDebtors.get({term: 'foo'});
]);
这相当于调用
/receives/GetDebtors/?term=foo


如果要更改行为,可以覆盖
$resource
上的默认方法。可以找到更多详细信息。

$resource用于从端点检索数据、操作数据并将其发送回

在资源上有自定义方法是可以的,但您不想错过它随OOTB.var Todo=$resource('/api/1/Todo/:id')提供的一些很酷的特性

//创建todo var todo1=新todo(); todo1.foo='bar'; todo1.something=123;
todo1.$save()

谢谢你,保罗。我真的想要一个基于我上面代码的例子。我已经看过所有Todo示例,但我需要知道如何传递参数等。这就是我在上面标记答案的原因。可以使用以下参数调用类对象或实例对象上的操作方法:HTTP GET“class”操作:Resource.action([参数],[成功],[错误])non GET“class”操作:Resource.action([parameters]、postData、[success]、[error])非获取实例操作:instance.$action([parameters]、[success]、[error])基于参数进行调用的语法
debtControllers.controller('DebtCtrl', ['$scope', 'GetDebtors',
    $scope.debts = GetDebtors.get({term: 'foo'});
]);