1

假设我有

angular.factory('Service', [
  '$resource', function ($resource) {
      return $resource('/path/:id', {id: '@id'});
  }])

如果在我的控制器中我这样做

var s = new Service({id: 123});
s.$query();

它向 发送请求/path,但我希望它向 发送请求/path/123。为什么这样做以及如何设置参数?

我不想向$query(). 我想设置“默认”。用 表示的那个@id

4

2 回答 2

1

$query用于获取记录列表。你想要的是$get

var s = Service.get({id :123}, function optionalFn(){});

在这里查看更多

于 2012-11-09T23:51:58.760 回答
0

我认为这里的示例控制器实际上是将 id 参数发送给工厂本身,工厂不需要。通过这种设置方式,您需要在 query() 中发送一个参数,或者您可以选择将工厂代码中的资源路径 id 值从“@id”更改为 123。我相信“@id”告诉它在查询({id:123})之类的调用中查找 id 参数。

于 2014-12-09T16:19:23.720 回答