Javascript 如何使ngclick像切换一样工作?

Javascript 如何使ngclick像切换一样工作?,javascript,angularjs,Javascript,Angularjs,我取了一个跨度,单击该跨度后,它会向其中添加1。但我需要的是,ngclick应该只向范围内的任何值添加一次。再次单击时,应从中减去1。它不应该连续迭代。 我从json数据中获取{{tvshow.eption.ratings.loved}}。 请帮忙 //html <html> <body> <span class="label likeme" ng-click="tvshow.episode.ratings.loved = tvshow.episode.r

我取了一个跨度,单击该跨度后,它会向其中添加1。但我需要的是,ngclick应该只向范围内的任何值添加一次。再次单击时,应从中减去1。它不应该连续迭代。
我从json数据中获取{{tvshow.eption.ratings.loved}}。 请帮忙

//html
<html>
<body>
    <span class="label likeme"  ng-click="tvshow.episode.ratings.loved = tvshow.episode.ratings.loved + 1" ng-init="{{tvshow.episode.ratings.loved}}">
        <i class="icon-thumbs-up"></i> {{tvshow.episode.ratings.loved}}</span>
</body>
</html>
//html

{{tvshow.插曲.收视率.喜爱}
//view.html

<span ng-click="doOneTimeOnly();">{{tvshow.episode.ratings.loved}}</div>

{{tvshow.eption.ratings.loved}
//controller.js

  $scope.times = 0;

    $scope.doOneTimeOnly = function () {
      if ( $scope.times < 1) {
        //do my stuff with the tvshow.episode.ratings.loved
        //.................
       $scope.times += 1;
      }
    }
$scope.times=0;
$scope.doOneTimeOnly=函数(){
如果($scope.times<1){
//做我的电视节目。插曲。收视率。爱
//.................
$scope.times+=1;
}
}
事实上,我认为这没有道理,但这正是你所要求的:p


这也可以很容易地移动到自定义指令,如
指令('ngOneClickOnly')例如

现在您有一个选项ng已禁用,您只能单击一次

<script>
    angular.module("my_app",[])

    .controller("my_ctr",function($scope){
        $scope.skm=true;
        $scope.mmmmmm=function()
        {

            if($scope.skm==false)
            {
                alert("first time you clicked");                
            }
            else
            {       
                alert("now you cant click");
                $scope.skm=false;
            }
        }
    })
    </script>

<body ng-app="my_app" ng-controller="my_ctr">
<button ng-click="mmmmmm()" ng-disabled="!skm">hii</button> 
</body>

angular.module(“我的应用程序”[])
.controller(“我的中心”,功能($scope){
$scope.skm=true;
$scope.mmmm=函数()
{
if($scope.skm==false)
{
警报(“您第一次单击”);
}
其他的
{       
警告(“现在你不能点击”);
$scope.skm=false;
}
}
})
hii

{{tvshow.eption.ratings.loved}}可以是0到100之间的任意数字。@madhukumar是的,这是您运行ng click仅1次的方式,UpdateEdit正在不断迭代。此代码对我有效……告诉我在使用此代码时您的代码出了什么问题。。