angularjs的input防抖

在开发中,遇到一个这样的需求,使用$scope.$watch()方法监听input值的改变,然后去$resource请求,但是请求过于频繁,需要做逻辑调整。代码如下:

 1 var timeout;
 2         $scope.$watch('mapAddress', function(inputText){
 3             if(inputText){
 4                 if(timeout) {
 5                     $timeout.cancel(timeout);
 6                 }
 7                 timeout = $timeout(function(){
 8                     console.log('111', inputText);
 9                 },500)
10             }
11         });

使用$timeout可以解决此问题,后面时间可以根据自己的需求调整。

猜你喜欢

转载自www.cnblogs.com/wzq201607/p/angularjs_input.html