パラメータに応じてバックエンドを呼び出すサービスを作成したいと考えています。このコードは機能しませんが、私が達成したいことを示してくれることを願っています:
myproject.factory('Item', function($resource) {
if (@id !== undefined)
return $resource('/resource/item/:id/item.json', {id: '@id'});
else if (@userid !== undefined)
return $resource('/resource/user/:userid/items.json', {userid: '@userid'});
});
基本的に、最初のオプションは ID で 1 つのアイテムのみを返し、2 番目のオプションはユーザー ID で複数のアイテムを返します。
次に、次のようにそのサービスを呼び出せるようにしたいと思います。
$scope.item = Item.get({id: id}, function() {...}
また
$scope.items = Item.query({userid: userid}, function() {...}
そのようなことを達成するための最良の方法は何ですか? すべてに対して個別のサービスを作成する必要がありますか?
ありがとう!