2017-09-21 4 views
0

私はアイテムのリストを持っており、選択したアイテムをAPIに渡してそのアイテムが存在するかどうかをチェックしたいと思います。Angular APIコールによるループ

$scope.submitButton = function() { 
    for (var i=0; i < $scope.selectedItems.length; i++) { 
     console.log($scope.selectedItems[i]); // item2 
     myService.checkItem($scope.selectedItems[i]) 
     .success(data, status, header, config) { 
      var myData = data; 
      console.log(myData); 
     }) 
    } 
} 

私がITEM2を選択し、ボタンをクリックすると、私は唯一のサービスがITEM2のデータを返すようにしたいが、それはITEM1、ITEM2のためのデータを返し、ITEM4(ITEM3が存在しません)。 item2のデータのみを返すようにコードを変更するにはどうすればよいですか?

+0

ない非常に良い練習。代わりにselectedItemsの配列を送信して、サーバーで反復処理を実行できませんか? –

答えて

1

この試してみてください:あなたは、次のHTMLなどのオブジェクトを反復処理するとき$インデックスによって

使用トラックを使用して、送信ボタンイベントで$インデックス値を渡すクリックcode.while。

HTML:

<div ng-repeat="item in selected_items track by $index" ng-click="submitButton($index)"></div> 

角度JS:

$scope.submitButton = function(index) { 
for (var i=0; i < $scope.selectedItems.length; i++) { 
    console.log($scope.selectedItems[index]); // item2 
    myService.checkItem($scope.selectedItems[index]) 
    .success(data, status, header, config) { 
     var myData = data; 
     console.log(myData); 
    }) 
    } 
}