2016-08-03 5 views
0

私はアイテムのリストを持っています。好きなクラスを追加したいときは、好きなボタンをクリックしてください。それは動作しますが、別のアイテムが好きなときは、前回追加したクラスがアイテムから削除されます。私の間違いは何ですか?ループでクリックしてクラスを追加する

<div ng-if="perles.length > 0" ng-repeat="perle in perles" class="post-card-outer"> 
    <section ng-include="'views/app/partials/feed-post-card.html'"></section> 
    </div> 

フィードポストcard.html

 .... 
     <a class="tab-item" ng-class="{ 'liked': perle_id == perle.id }" href="#" ng-click="likePerle({{ perle.id }})"> 
     <i class="icon theme-icon icon-like"></i> 
     J'aime 
     </a> 

FeedCtrl

$scope.likePerle = function(perle_id) { 
     $scope.perle_id = perle_id; 
    }; 
+0

'$ scope.perle_id'をオーバーライドすると、' perle_id == perle.id'という文は1つの項目にしかマッチできません。 「既に好きな」アイテムを保存するには、配列やオブジェクトを使用する必要があります(注:これには "perle"オブジェクトも使用できます) – dex

答えて

0

ここに答えると、あなたの間違いを修正して下さい。 jsfiddle.net/yTK6f/66/