如何禁用UI,直到服务器使用AngularJS做出响应

如何禁用UI,直到服务器使用AngularJS做出响应,angularjs,nodejs,express,javascript,node.js,twitter-bootstrap,Angularjs,Nodejs,Express,Javascript,Node.js,Twitter Bootstrap,我正在使用和()构建一个web应用程序 很多时候,在我的应用程序中,用户会做一些与服务器通信的事情,并根据结果进行处理 每当用户调用需要服务器响应的东西时,我希望UI保持不变,不让用户做任何其他事情。这样可以防止用户多次单击按钮并使我的服务器过载。如果可以,请避免这样做。只要有可能,允许用户继续执行操作,即使您有一个挂起的呼叫 如果不能,则可以使用,这将使用掩蔽元素覆盖页面。然后在完成后移除模态。通过使用模态的设置,您可以使其相当不引人注目 当然,您的应用程序也可以有一个标志,指示服务器有未完成

我正在使用和()构建一个web应用程序

很多时候,在我的应用程序中,用户会做一些与服务器通信的事情,并根据结果进行处理


每当用户调用需要服务器响应的东西时,我希望UI保持不变,不让用户做任何其他事情。这样可以防止用户多次单击按钮并使我的服务器过载。

如果可以,请避免这样做。只要有可能,允许用户继续执行操作,即使您有一个挂起的呼叫

如果不能,则可以使用,这将使用掩蔽元素覆盖页面。然后在完成后移除模态。通过使用模态的设置,您可以使其相当不引人注目

当然,您的应用程序也可以有一个标志,指示服务器有未完成的请求(可能使用jQuery的and),并在设置该标志时禁用进一步的操作。

您可以使用按钮上的指令在单击按钮一次后禁用按钮

控制器:

$scope.isDisabled = false;

$scope.submitForm = function() {
    $scope.isDisabled = true;
    // submit form and wait for response here
    // reset isDisabled when you get it
}
HTML:

提交
如果您需要更一般的功能,Angular的ajax允许您在请求之前和收到响应时设置变量。您可以使用它来定制UI,根据拦截器是否已完成,不允许您想要停止的内容

 <button ng-click="submitForm()" disabled="{{scope.isDisabled}}">Submit</button>