Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法在AngularJs只投一次赞成票或反对票?_Javascript_Angularjs - Fatal编程技术网

Javascript 有没有办法在AngularJs只投一次赞成票或反对票?

Javascript 有没有办法在AngularJs只投一次赞成票或反对票?,javascript,angularjs,Javascript,Angularjs,以下代码取自代码学院的AngularJS课程。在第一课中,用户可以选择“喜欢”或“不喜欢”。一旦用户点击“喜欢”按钮,投票将上升,同样,用户点击“不喜欢”按钮,投票将增加到负数。但是代码中没有办法限制用户只上下投票一次。有没有一种方法可以限制用户只使用AngularJS进行一次投票 html代码 +{{product.likes} -{{product.dislikes} 是的,只需在数组中标记对象即可 $scope.plusOne = function(index) { if(!$s

以下代码取自代码学院的AngularJS课程。在第一课中,用户可以选择“喜欢”或“不喜欢”。一旦用户点击“喜欢”按钮,投票将上升,同样,用户点击“不喜欢”按钮,投票将增加到负数。但是代码中没有办法限制用户只上下投票一次。有没有一种方法可以限制用户只使用AngularJS进行一次投票

html代码

+{{product.likes}

-{{product.dislikes}


是的,只需在数组中标记对象即可

$scope.plusOne = function(index) {
    if(!$scope.products[index].upvoted){
      $scope.products[index].likes += 1;
      $scope.products[index].upvoted = true;
    }
};
$scope.minusOne = function(index) {
    if(!$scope.products[index].downvoted){
      $scope.products[index].dislikes += 1;
      $scope.products[index].downvoted = true;
    }
};
如果你想让上一票否决下一票(反之亦然),你必须再加上一点,但那是微不足道的