今すぐユーザーは一般的に1回のみ投票をすることができます。私は、ユーザーが1ポストに1回投票したり、投票したりできるようにしたい。角度アプリで投稿ごとに1回だけ投票する
<div ng-repeat="post in posts | orderBy:'-upvotes'">
<span class="glyphicon glyphicon-thumbs-up"
ng-click="incrementUpvotes(post)" ng-style="post.hadUpvoted ? {color: 'red'} : {}"></span>
{{post.upvotes}}
<span class="glyphicon glyphicon-thumbs-down" ng-click="downvote(post)"
ng-style="post.hadDownvoted ? {color:'red'} : {}"></span>
コントローラー:
var upvoted;
$scope.incrementUpvotes = function(post) {
if(!upvoted) {
posts.upvote(post);
upvoted = true;
post.hadUpvoted = true;
}
};
サービス:代わりにグローバルupvoted
変数をチェックする
o.upvoteComment = function(post, comment) {
return $http.put('/posts/' + post._id + '/comments/' + comment._id + '/upvote', null, {
headers: {Authorization: 'Bearer '+auth.getToken()}
}).success(function(data) {
comment.upvotes += 1;
});
};