我有一個可能被標記的討論列表。然而,目前當用戶點擊標誌按鈕時,所有項目都會觸發isflagged
,而不僅僅是被標記的項目,您需要刷新頁面以標記其他討論。我將如何獲得它,以便只有被點擊的討論發生變化,而不是每次討論。如何在不更改整個列表的情況下編輯列表中的項目?
我有scope.dis
因爲scope inheritance
HTML:
<li ng-repeat="discussion in Discussions">
<div ng-if="canFlag(discussion)">
<div ng-switch="dis.isFlagging">
<div ng-switch-when="false"
ng-click="flagDiscussion(discussion.id)"
</div>
<div ng-switch-when="true">
Successfully flagged</div>
</div>
</div>
</li>
JS:
$scope.dis = {isFlagging: false};
$scope.flagDiscussion = function(discussionId) {
Service.flagDiscussion(discussionId);
$scope.dis.isFlagging = true;
};
添加canFlag代碼 –