我在用户提交表单后立即启用微调器。在从其余调用获得响应后的保存中,我隐藏了微调器并将按钮更改为ok或close。或者如果失败场景用户将在页面上收到错误消息并且按钮将显示为Add。在下面的代码中,微调器正确启动,但在servie调用后,其余语句正确执行,但微调器仅在几秒后隐藏。如果我启用了开发人员工具,则在所有执行完成后,微调器将隐藏。有什么投入? 在下面的屏幕截图中,一旦使用添加文本启用按钮,用户就不应该看到微调器。但它仍然是几秒钟的旋转器
Javascript代码:
$scope.saveSDG = function () {
$scope.save = true; //show spinner
$scope.isDisabled = true;
$scope.action="Applying";
var inputJson = '{ "input" : ['+json+']}'; // assume json is the valid variable
// videoProvisionSvc is another service where i am calling REST api. after restcall below method will be executed
videoProvisionSvc.provisionSDG(inputJson, function(data) {
$scope.save = false; //hide spinner
var responsJson = JSON.parse(data);
$scope.action ="close";
$scope.$apply();
});
};
Html代码:
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<script src="myscripts.js"></script>
</head>
<body>
<!-- Other form fields-->
<button ng-click="saveSDG()" class="btn btn-default" ng-disabled="isDisabled" type="button">
<i class="fa fa-spinner fa-spin ng-hide" ng-show="save"></i> {{action}}
</button>
</body>
</html>