2014-06-06 56 views
1

我有一个角$resource作为

var Client = $resource('/api/clients/:id',{id : '@id'}, { 
          query: { method: 'GET' }) 

我希望能够调用,通过可变说query()save()。即我想说

var method = 'query'; 
Client[method]() 

但这返回一个错误:Unexpected token [

为什么?

回答

2

这不是一个对象,这就是为什么你会得到错误。你可以像调用该方法,从而:

Client.query(); 

如果你真的想通过一个变量来调用它,你可以把它映射到一个对象,并调用它的方式,我不会推荐它,但:

var resources = { 
    query: Client.query, 
    somethingElse: Client.somethingElse 
}; 
var type = 'query'; 

resources[type](); 
+0

好吧,除了地图方法之外,没有办法做到这一点? – Kousha

+0

我很确定没有,文档中也没有提到。 –

+0

好的,谢谢你的帮助。只要它允许我将它标记为答案! – Kousha