如何将参数传递给角度服务?

时间:2013-08-13 22:37:10

标签: javascript angularjs

我已经制作了基于HTTP的简单API,我想对它进行POST调用,如:

http://mysite.com/api/v1/person/something
http://mysite.com/api/v1/person/else
http://mysite.com/api/v1/person/someword

一般

http://mysite.com/api/v1/person/<word>

在角度我已经创建了一个服务

angular.module('personService', ['ngResource']).
    factory('Person', function($resource){
      return $resource('/api/v1/person/:word', {}, {
        action:     {method:'{POST',  params:{ ???? },          isArray : false},
      });
  });

在我使用该服务的控制器中,我希望能够调用Person.action()并传递一个参数来确定word是什么,例如:

Person.action('something', function(d) { 
 console.log('Result of api/v1/person/something')
}); 

但我不确定如何连接两者。请参阅第三个代码块中的????

1 个答案:

答案 0 :(得分:1)

试试这个:

params:{ word: '@inputWord' }

Person.action({inputWord: 'somethings'}, function(d) { 
    console.log('Result of api/v1/person/something')
});

word与网址中的:word变量匹配,传入对象的密钥inputWord@inputWord匹配。