Javascript 是否可以在AngularJS中设置资源的默认查询参数?

Javascript 是否可以在AngularJS中设置资源的默认查询参数?,javascript,angularjs,ngresource,Javascript,Angularjs,Ngresource,如果我有如下定义的简单资源,我的理解是,我可以调用receive.query()方法从服务器取回集合。我的理解是,如果调用Receipt.query({freightBill:123}),则会将freightBill添加为查询参数,如/distribution/inbound?freightBill=123。我怎样才能以这种方式传递查询参数,但从我的工厂中,还可以添加页面、大小和排序的默认查询参数 生成的请求可能看起来像/distribution/inbound?freightBill=123&

如果我有如下定义的简单资源,我的理解是,我可以调用
receive.query()
方法从服务器取回集合。我的理解是,如果调用
Receipt.query({freightBill:123})
,则会将freightBill添加为查询参数,如
/distribution/inbound?freightBill=123
。我怎样才能以这种方式传递查询参数,但从我的工厂中,还可以添加页面、大小和排序的默认查询参数

生成的请求可能看起来像
/distribution/inbound?freightBill=123&page=0&size=20&sort=number,desc

angular.module('webappApp')
  .factory('receipts', function ($http, $resource, $location) {
    var search = $location.search();
    var page = search.page||0;
    var size = search.size||20;
    var sort = search.sort||'number,desc';

    return $resource('/distribution/inbound');
  });

回答我自己的问题,其实很简单。。。只需将查询参数附加到资源路径即可。调用
receive.query({freightBill:123})
时,Angular智能地将
&freightBill=123
附加到路径的末尾。如果没有页面、大小和排序参数,Angular只会追加
?freightBill=123
,因为它是唯一的参数

angular.module('webappApp')
  .factory('receipts', function ($http, $resource, $location) {
    var search = $location.search();
    var page = search.page||0;
    var size = search.size||20;
    var sort = search.sort||'number,desc';

    return $resource('/distribution/inbound?page=' + page + '&size=' + size + '&sort=' + sort);
  });

回答我自己的问题,其实很简单。。。只需将查询参数附加到资源路径即可。调用
receive.query({freightBill:123})
时,Angular智能地将
&freightBill=123
附加到路径的末尾。如果没有页面、大小和排序参数,Angular只会追加
?freightBill=123
,因为它是唯一的参数

angular.module('webappApp')
  .factory('receipts', function ($http, $resource, $location) {
    var search = $location.search();
    var page = search.page||0;
    var size = search.size||20;
    var sort = search.sort||'number,desc';

    return $resource('/distribution/inbound?page=' + page + '&size=' + size + '&sort=' + sort);
  });

$resource的第二个参数是默认参数。文件:

这些使它们成为“默认值”。这意味着您可以通过向
传递新值来覆盖。查询

Receipt.query({freightBill:123,size:20,page:2})

美元资源的第二个参数是默认参数。文件:

这些使它们成为“默认值”。这意味着您可以通过向
传递新值来覆盖。查询

Receipt.query({freightBill:123,size:20,page:2})

我们可以将此默认参数设置为特定方法吗?例如,我只想在
PUT
方法中发送默认参数。可能吗?是的,请查看$resource文档。您可以定义命名的“操作”。查看信用卡示例我们可以将此默认参数设置为特定方法吗?例如,我只想在
PUT
方法中发送默认参数。可能吗?是的,请查看$resource文档。您可以定义命名的“操作”。查看信用卡示例