다음 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
) 프로젝트에서 비슷한 작업을해야 했습니까?
감사!
여기에 한 가지 방법이 있습니다.
컨트롤러에서 currentIndex라는 속성을 만들고 사용자가 하트 아이콘을 탭할 때 해당 함수에 $ index를 전송하여 toggleFav 함수에 설정합니다.
그런 다음 ng-show에서 ng-show = "currentIndex == $ index"를 사용할 수 있으며 완료되면 currentIndex를 -1 또는 다른 것으로 재설정 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다