HTML代码:
<div ng-controller="reviewsController as revCtrl ">
<div ng-repeat="review in revCtrl.proreviews>
<div ng-init="revCtrl.checklikereview(review)"> LIKE
<div ng-if="review.likestats" ng-href="#" ng-click="revCtrl.removelikereview(review._id)" class="glyphicon glyphicon-star ">
</div>
<div ng-if="!review.likestats" ng-href="#" ng-click="revCtrl.addlikereview(review._id)" class="glyphicon glyphicon-star-empty ">
</div>
<span ng-bind="review.numoflikes"></span>
</div>
<div ng-init="revCtrl.checkdislikereview(review)"> DISLIKE
<div ng-if="review.dislikestats" ng-href="#" ng-click="revCtrl.removedislikereview(review._id)" class="glyphicon glyphicon-star ">
</div>
<div ng-if="!review.dislikestats" ng-href="#" ng-click="revCtrl.adddislikereview(review._id)" class="glyphicon glyphicon-star-empty ">
</div>
<span ng-bind="review.numofdislikes"></span>
</div>
</div>
发生的问题是用户可以对div进行多次点击,这会使喜欢/不喜欢的人数增加2或更多
如何禁用此功能?
答案 0 :(得分:1)
你可以使用两个不同的div来验证和其他来调用函数 在一个div中你可以像这样使用
ng-if="review.likestats" ng-href="#"
并且在div中你可以把另一个调用函数
ng-click="revCtrl.removelikereview(review._id)";
答案 1 :(得分:0)
试试这个。我不确定这是否适用于您的代码。试一试。
<a class="toggle" data-stats="like">Like</a>
<a class="toggle" data-stats="dislike">Like</a>
的javascript
var toggle = getElementsByClassName('toggle'),
i;
function func(){
setInterval(function(){
var stat = this.dataset.stats;
if(stat == 'like')
// count + 1
else
// dislike count + 1
}, 3000);
}
for(i = 0; i < toggle.length; i++) toggle[i].addEventListener('click', func);