我必须在
angularjs中编写电子邮件验证功能.我希望在用户使用电子邮件ID进行编辑后2秒后发布帖子请求.在angularjs中是否有任何预先定义的方法.
fiddle
@H_403_8@
@H_403_8@
var app = angular.module('form-example',[]); app.controller('formctrl',function($scope){ var ctrl= this; ctrl.verifyEmail= function(){ console.log('hiiii') } })
解决方法
去抖动内置于Angular 1.3中.正如您所期望的那样,它是作为指令实现的.你可以这样做:
@H_403_8@
@H_403_8@
<input ng-model='address' ng-model-options="{ debounce: 500 }" />
$scope.address属性直到最后一次击键后500ms才更新.@H_403_8@
如果你需要更多的控制权@H_403_8@
如果您想要更多粒度,可以为不同的事件设置不同的跳出时间:@H_403_8@
@H_403_8@
<input ng-model='person.address' ng-model-options="{ updateOn: 'default blur',debounce: {'default': 500,'blur': 0} }" />
例如,我们有一个500ms的反弹用于击键,而没有反弹用于模糊.@H_403_8@
文档@H_403_8@
阅读文档:https://docs.angularjs.org/api/ng/directive/ngModelOptions@H_403_8@