为$ resource提供参数

时间:2012-11-09 21:33:46

标签: angularjs

假设我有

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表示的那个。

2 个答案:

答案 0 :(得分:1)

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

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

查看更多here

答案 1 :(得分:0)

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