没有启用ng禁用按钮

时间:2015-04-11 11:32:07

标签: angularjs

HTML

<button ng-click="Event.Methods.Submit()" class="btn btn-primary" ng-disabled="IsDisabled">Submit</button>

JS

 $scope.IsDisabled = true;

我需要在按下时禁用提交按钮,如果出现任何错误,请再次启用它。按下按钮可以正常工作,但即使我将其设置为$scope.IsDisabled = false;,它也无法在其他方案中工作。但是,当我更改页面上的任何内容(例如文本框值)时,它会启用。你能告诉我为什么吗?我在发生错误时检查了IsDisabled的值:IsDisabledfalse,但按钮仍未启用。为什么呢?

关于以下内容的良好参考: $scope.$evalAsync()

1 个答案:

答案 0 :(得分:1)

在这种情况下,在AJAX请求之后评估数据需要手动触发摘要周期 - 不能说明原因,因为我不知道整个代码,但这可能会起作用:

$scope.$evalAsync(function () {
  $scope.IsDisabled = false;
});

尽可能避免使用$scope.$apply();,因为您可能遇到Error: $digest already in progress