Javascript AngularJS-ng重复中的目标特定元素

Javascript AngularJS-ng重复中的目标特定元素,javascript,html,arrays,angularjs,Javascript,Html,Arrays,Angularjs,我正在使用ng repeat迭代一个数组并创建一个表。在那张表中,我有一个下载按钮。当我点击下载按钮时,我希望链接消失,并显示一个加载旋转。问题是,旋转显示在所有行中,而不仅仅是我单击的那一行 Html- <tbody md-body> <tr md-row ng-repeat=""> <td md-cell> <div layout="row" layout-align="center center">

我正在使用ng repeat迭代一个数组并创建一个表。在那张表中,我有一个下载按钮。当我点击下载按钮时,我希望链接消失,并显示一个加载旋转。问题是,旋转显示在所有行中,而不仅仅是我单击的那一行

Html-

  <tbody md-body>
    <tr md-row ng-repeat="">
      <td md-cell>
        <div layout="row" layout-align="center center"> 

          <md-progress-circular ng-if="isSubmit"></md-progress-circular>

          <a ng-if="!isSubmit" ng-click="download($index)">Download</a>

       </div> 
      </div>
     </td>
    </tr>
  </tbody>

您应该在ng repeat上使用
$index
,而不是布尔值
isSubmit
,使用索引与数组索引进行比较

HTML

<tr ng-repeat="item in items">
  <td>
      <md-progress-circular ng-if="isLoadingIndex == $index"></md-progress-circular>
      <a ng-if="isLoadingIndex != $index" 
         ng-click="download($index)">Download</a>
  </td>
</tr>
$scope.isLoadingIndex = null;
$scope.donwload = function($index) {
  $scope.isLoadingIndex = $index; 
  //Rest of your code...
}

您可能需要向正在循环的每个对象添加
isSubmit
属性。或者创建一个对象,其键是索引,值是它们是否被提交。@FrankModica就像我的api响应中的布尔值一样?它不必在api本身中。您可以在JavaScript中添加该属性。您可以添加一个类似@FrankModica said的属性。然后,您可以在此属性中使用
$
前缀,以便AngularJs忽略它,因为它只是一个视图属性。感谢人们现在正在工作,如果多个可以同时加载呢?问题不在于此,而在于使用数组,推送索引,然后比较是否包含索引。@the.Bear。非常感谢你
$scope.isLoadingIndex = null;
$scope.donwload = function($index) {
  $scope.isLoadingIndex = $index; 
  //Rest of your code...
}