停止angularjs中重复请求的常用方法
Common way to stop repetitive requests in angularjs
众所周知,AngularJS不支持同步请求。它允许的大部分内容都是承诺,但问题不在于此。我遇到了一个问题,得到回复的时间可能比人们预期的要长,而且这个人可能会重新提交数据。我想阻止它。
有什么常见的内置方法可以做到这一点吗?
您可以使用绑定到控制器上的属性的ng-disabled
,该属性在xhr之前设置为true
,在xhr完成之后设置为false
。单击事件,因此在禁用按钮时ng-click
将不会归档。
文件:https://docs.angularjs.org/api/ng/directive/ngDisabled
更新如果您想将ng-disabled
与任何元素(例如a
(一起使用,您可以使用自定义点击处理程序,例如:
yourApp.directives.directive('myClick', ['$parse',function ($parse): ng.IDirective {
return {
restrict: 'A',
link: (scope, element:JQuery, attrs) => {
var fn = $parse(attrs.picClick);
element.on('click', function (event) {
// The core disabled logic detection
if (attrs.disabled) return;
scope.$apply(function () {
fn(scope, { $event: event });
});
});
}
}
}]);
当然,当属性disabled
设置为true时,您应该以不同的方式设置元素的样式。
另一种方式或者,您可以使用一对互斥元素,一次只显示一个,使用像(ng-show
(这样简单的元素
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 使用“;这个“;JavaScript原型方法中的关键字
- 序列化数据属性中对象的最可靠方法
- 使用Objective-C的JavaScript注入方法
- 在canjs中,根据任何模型实例的存在,有条件地显示胡子模板部分的最常用方法是什么
- process.nextTick的常用方法
- 服务与控制器与外部JS将常用方法放在AngularJS中
- 使用 JavaScript 访问 MongoDB 的常用方法是什么?
- 对不存在的元素进行转义的常用方法是什么(如jQuery)
- 最常用的生成PDF报告的方法(JavaScript,node.js)
- 如何将常用方法提取到函数中
- 如何使用map()调用对象列表的常用方法
- 是解决按钮点击太快的最佳常用方法
- 停止angularjs中重复请求的常用方法
- 防止由于“引号”符号而导致串联时出错的常用方法
- 对象选择和调整大小的常用方法