Javascript AngularJS-ng重复中的目标特定元素
我正在使用ng repeat迭代一个数组并创建一个表。在那张表中,我有一个下载按钮。当我点击下载按钮时,我希望链接消失,并显示一个加载旋转。问题是,旋转显示在所有行中,而不仅仅是我单击的那一行 Html-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">
<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...
}