Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
防止多次点击angularjs中的按钮?_Angularjs - Fatal编程技术网

防止多次点击angularjs中的按钮?

防止多次点击angularjs中的按钮?,angularjs,Angularjs,我有一个按钮,用户点击按钮列表在AngularJS中重复多次 您可以设置一个属性并在ngClick中选中它,或者为按钮使用ng disabled属性-注意不能禁用锚定 <button ng-click="!isButtonClicked && (isButtonClicked=true) && clickButton()" >Click Me Once</button> <button ng-click="(isButt

我有一个按钮,用户点击按钮列表在AngularJS中重复多次

您可以设置一个属性并在
ngClick
中选中它,或者为
按钮使用
ng disabled
属性-注意不能禁用锚定

<button 
  ng-click="!isButtonClicked && (isButtonClicked=true) && clickButton()"
>Click Me Once</button>

<button 
  ng-click="(isButtonClicked=true) && clickButton()"
  ng-disabled="isButtonClicked"
>Click Me Once</button>

@kapil soni您可以在响应后单击按钮禁用该按钮您可以再次启用该按钮。请告诉我如何在响应后重新启用?我(很可能地球上的每个角度开发人员)过去都尝试过这种方法。问题是,它的运行速度不够快--如果您单击的速度足够快,则在禁用按钮之前会注册第二次单击。在这种情况下,请在
$digest
循环后在
clickButton()
函数中进行检查。你可以用
$timeout()
来包装它,这可能是最简单的方法。但是第一种方法应该或多或少是即时的-它只是在
$scope
上设置一个属性,所以它不需要更新DOM来工作。是的,这就是我们所想的…:)TL;DR:禁用按钮=不够好;属性=更好(可能足够好);属性+超时=最佳(但不是完美)。
<button 
  ng-click="!isButtonClicked && (isButtonClicked=true) && clickButton()"
  ng-disabled="isButtonClicked"
>Click Me Once</button>