在我的离子应用中,我有一个有2个按钮的屏幕。在按下每个按钮时,我调用一个执行密集网络任务的功能。一切都运作良好。
通常当我按下其中一个按钮时,它会调用该功能。但是,如果我再次按下该按钮,它会再次调用该功能并执行相同的操作。如果我之前按过,我不希望它再次调用函数。只有当我按下另一个按钮然后再次按下该按钮时,它才应该调用该功能。
那么,在调用函数之前,我可以了解按钮的活动状态吗?
我是Ionic的新手,所以对此有所帮助。
按钮代码:
<div class="button-bar button-bar-full bar-light"
ng-if="activityLog.enabledChecked && !activityLog.disabledToggle">
<a class="button" ng-class="{'button-active': activityLog.isUnblockedFiltered}"
ng-click="switchFilter(true)">{{ 'main.activity-log-blocked-report' | i18n }}</a>
<a class="button" ng-class="{'button-active': !activityLog.isUnblockedFiltered}"
ng-click="switchFilter(false)">{{ 'main.activity-log-full-report' | i18n }}</a>
</div>
PS:我可以应用一些标志,可以使这项工作,但想知道我是否可以通过一些api了解按钮的状态。
由于
答案 0 :(得分:1)
您可以使用以下方法检查按钮是否被禁用
var target = angular.element(document.getElementById("#buttonId"));
if (target.prop('disabled')) {
// Button is disabled
//Do something
}
答案 1 :(得分:0)
在您的视图中,将ng-disabled绑定到控制器“disableButton”中的属性,如下所示,并在单击按钮时将其设置为true。然后在执行api调用时该按钮将被禁用,在完成时,您可以将其设置为false以再次启用该按钮。
<a class="button" ng-disabled="disableButton" ng-class="{'button-active': activityLog.isUnblockedFiltered}"
ng-click="switchFilter(true)">{{ 'main.activity-log-blocked-report' | i18n }}</a>