HTML
<button ng-click="Event.Methods.Submit()" class="btn btn-primary" ng-disabled="IsDisabled">Submit</button>
JS
$scope.IsDisabled = true;
我需要在按下时禁用提交按钮,如果出现任何错误,请再次启用它。按下按钮可以正常工作,但即使我将其设置为$scope.IsDisabled = false;
,它也无法在其他方案中工作。但是,当我更改页面上的任何内容(例如文本框值)时,它会启用。你能告诉我为什么吗?我在发生错误时检查了IsDisabled
的值:IsDisabled
是false
,但按钮仍未启用。为什么呢?
关于以下内容的良好参考: $scope.$evalAsync()
答案 0 :(得分:1)
在这种情况下,在AJAX请求之后评估数据需要手动触发摘要周期 - 不能说明原因,因为我不知道整个代码,但这可能会起作用:
$scope.$evalAsync(function () {
$scope.IsDisabled = false;
});
尽可能避免使用$scope.$apply();
,因为您可能遇到Error: $digest already in progress
。