2016-05-02 13 views
0

私はAngularを学び、$ resourceを使ってデータを扱うサービスを構築していました。私はquery()を使用してデータのリストを取得することができましたが、今は特定の項目のリストだけにフィルターをかけたいと思っていました。私はasp.netのMVCコードでメソッドを作成しましたが、呼び出すには2つのパラメータ(sectionIdとtypeId)が必要ですが、メソッドが角度で呼び出されることはありません。私のブレークポイントは決して私のasp.netコードにヒットしません。

(function() { 
'use strict'; 

testModule.factory('InventoryRepository', ['$resource', InventoryRepository]); 

function InventoryRepository($resource) { 
    return { 
     get: function (sectionType, typeId) { 
      return $resource('/mySite/GetInventoryGrid/:sectionType/:typeId', {sectionType: '@sectionType', typeId: '@typeId'}, { 
       query: {method: 'GET', isArray:true} 
      }).query(); 
     }, 
     save: function (inventoryItem) { 
      return $resource('/mySite/SaveInventoryItem').save(inventoryItem); 
     }, 
     remove: function (inventoryItem) { 
      return $resource('/mySite/RemoveInventoryItem').save(inventoryItem); 
     } 
    } 
} 
})(); 

保存と削除の方法は問題なく動作しますが、パラメータを使用するようにクエリを取得する方法がわかりません。この結果は、その後、私の呼び出しコントローラに返されます。

vm.Inventories = InventoryRepository.get(sectionType, typeId); 

私はコールがInventoryRepositoryのgetメソッドに入るんChromeで私の故障などの作業を行います参照してください。フィドラーを使用して私は500回の返品で行われた呼び出しを見て、それはパラメータを渡されていないようです。

更新、私は次のように変更することでそれを修正: 私のコントローラから:

vm.Inventories = InventoryRepository.get({ sectionType: sType, typeId: typeId}); 

と私のサービスgetメソッド:

  get: function (params) { 
      return $resource('/mySite/GetInventoryGrid?sectionType=:sectionType&typeId=:typeId', { sectionType: '@sectionType', typeId: '@typeId' }, { 
       query: {method: 'GET', isArray:true} 
      }).query({ sectionType: params.sectionType, typeId: params.typeId}); 
     }, 

私はgetメソッド呼び出しを実現していませんでしたgetに渡されたときに2つのパラメータを1つのオブジェクトに結合していました。

答えて

1

query()メソッドにパラメータを渡していません。

get: function (sectionType, typeId) { 
    return $resource('/mySite/GetInventoryGrid/:sectionType/:typeId', {sectionType: '@sectionType', typeId: '@typeId'}, { 
     query: {method: 'GET', isArray:true} 
    }).query({sectionType: sectionType, typeId: typeId}); 
      ///^^^^^^^^ 
}, 
+0

私は修正で私の質問を更新するつもりです。 – Paritosh