2017-04-24 10 views
0

サービスを使用して$ resourceを使用してAPI呼び出しを行うコンポーネントがあります。コンポーネントは、すべてサービスで定義されて動作しているget,update(put)およびremove(delete)を使用します。

私は、適切なメソッド(パラメータとして渡される)を呼び出す1つの関数のapi呼び出しをリファクタリングしたいと考えています。たとえば、MenusApi.get()...,MenusApi.update()...、およびMenusApi.remove()...ではなく、callMenusApi(method)という関数を呼び出して、渡されたmethodget,updateまたはdelete)パラメータをapiメソッドとして呼び出すといいと思います。私が午前

callMenusApi('get'); 

function callMenusApi(method) { 
    MenusApi.method()... 
} 

問題が角張っている/ JSは、パラメータとしてMenusApi.methodmethodを認識しません。 APIコールのメソッドとして、methodのパラメータを補間するにはどうすればよいですか?

答えて

1

あなたの例では、文字通り「メソッド」と呼ばれるオブジェクトメソッドを呼び出そうとしています。動的メソッド名にブラケット構文を使用する必要があります。試してみてください:

function callMenusApi(method) { 
    MenusApi[method]()... 
} 
関連する問題