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