循环通过Angular API调用

时间:2017-09-21 03:14:00

标签: javascript asp.net angularjs api service

我有一个项目列表,我想将所选项目传递给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的数据?

1 个答案:

答案 0 :(得分:1)

试试这个:

在迭代对象时使用跟踪$ index,就像下面的HTML代码一样。当你点击提交按钮事件中的$ index值时。

HTML:

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

Angular 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); 
    })
  }
}