2014-06-06 55 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