加载模板时禁用ng-click

时间:2014-05-07 17:19:38

标签: angularjs

我使用的是bootstrap模式,有时需要一段时间来加载其window.html模板。此模式在ng-click事件中打开,如果用户的Internet连接速度很慢,用户通常有机会在模板加载前多次单击该元素。

在加载模板时,有没有办法全局禁用ng-click事件?有没有其他方法可以解决此问题,而无需使用if (isLoading) return; isLoading=true; ..; isLoading=false;

等代码填充我的代码

1 个答案:

答案 0 :(得分:1)

使用ng-click启用ng-disabled

<button ng-click="isLoading=true;" ng-disabled="isLoading" ng-switch="isLoading">
    <span ng-switch-when="true">Loading...</span>
    <span ng-switch-when="false">I can now be clicked again</span>
</button>

然后,将isLoading设置回false,但您认为合适。也许在success回调中,如果你有一个。

如果你计划这么做,你总是可以创建一个自定义指令。

或者,如果您正在使用Angular + Bootstrap,请帮自己一个忙,并使用UIBootstap - 以纯Angular-no bootstrap.js编写的Bootstrap指令。