11

我有这种资源:var Products = $resource('companies/:companyId/products') 问题是,我想通过 url 获取所有公司的产品companies/products,但是使用资源而不提供我得到的 companyId companies//products。可能我可以使用另一个 url,比如 just /products,但这是否意味着我必须拥有另一个资源来做同样的事情?

在这个简单的情况下,我可以将 url 更改为companies/products/:companyId,但这似乎是很一般的情况。

4

1 回答 1

13

是的,目前您需要定义另一个 $resource。

但是,如果需要,您可以将多个 $resource 实例包装到单个服务中...

app.factory('mergedRes', function($resource) {
  var r1 = $resource('/companies/:companyId/products');
      r2 = $resource('/companies/products');

  r1.getAll = r2.query.bind(r2);

  return r1;
});
于 2012-04-30T12:10:33.530 回答