Javascript 在特定对象中显示图标

Javascript 在特定对象中显示图标,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我使用ng repeat呈现列表,如下所示: <div ng-repeat="pet in pets"> <h2 ng-bind="pet.name"></h2> <i class="icon favorite" ng-class="pet.fav ? 'ion-ios7-heart' : 'ion-ios7-heart-outline'" ng-click="toggleFav(pet._id,$event)"></i>

我使用
ng repeat
呈现列表,如下所示:

<div ng-repeat="pet in pets">
  <h2 ng-bind="pet.name"></h2>
  <i class="icon favorite" ng-class="pet.fav ? 'ion-ios7-heart' : 'ion-ios7-heart-outline'" ng-click="toggleFav(pet._id,$event)"></i>
  <i class="LOADING ICON TO SHOW" ng-show="something?"></i>
</div>

心脏按钮用于切换项目的“喜欢”。我想隐藏那个心脏,当用户点击它时显示另一个图标(加载)。但只在被点击的项目上

我尝试了
ng show
,但这显然是在显示/隐藏我列表中所有项目的核心

有人有一些想法(可能是带有
$index
的东西),或者不得不在他们的项目中做一些类似的事情


谢谢

这里有一种方法

在controller中创建一个名为currentIndex的属性,并在用户点击心脏图标时,通过向该函数发送$index,在您的toggleFav函数中设置该属性


然后在你的ng show中,你可以使用ng show=“currentIndex==$index”,你可以在完成后将currentIndex重置为-1或其他什么。但是,我认为这将在所有不喜欢的宠物中显示加载图标。我设法做到了这一点,就像你昨天评论的那样:
ng show=“$currentIndex==$index”
。如果你用这个编辑答案,我会投你一票。谢谢出于某种原因,我以为你希望在所有喜欢的项目上都这么做。现在它有意义了,我更新了我的答案。很抱歉搞混了。