我有一个搜索输入字段,其中的重新查询函数绑定(bind)到 ng-change。
<input ng-model="search" ng-change="updateSearch()">
然而,这对每个 Angular 色来说都太快了。所以我最终做了很多这样的事情:
$scope.updateSearch = function(){
$timeout.cancel(searchDelay);
searchDelay = $timeout(function(){
$scope.requery($scope.search);
},300);
}
这样请求仅在用户停止输入后 300 毫秒发出。有什么解决方案可以将其包装在指令中吗?
最佳答案
从 Angular 1.3 开始,使用 ngModelOptions 更容易实现这一点。 :
<input ng-model="search" ng-change="updateSearch()" ng-model-options="{debounce:3000}">
Syntax: {debounce: Miliseconds}
关于angularjs - Angular 指令封装了 ng-change 的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21121460/