gpt4 book ai didi

angularjs - 如何使 angularjs ngChange 处理程序仅在用户完成输入时调用

转载 作者:行者123 更新时间:2023-12-03 06:06:32 25 4
gpt4 key购买 nike

我有一个输入字段,我想在其中应用ngChange的变体。

input 字段有点与 ajax 调用绑定(bind),当用户更改输入时,服务器端将处理数据,但是,我不想太频繁地进行调用。

假设用户想要输入一个真正的字符串,我希望仅在用户完成他要输入的单词后才进行调用。尽管如此,我不想使用模糊等事件。除了 setTimeout 之外,还有什么更好的方法来实现这一点呢?

最佳答案

在 Angular > 1.3 中使用 ng-model-options

 <input type="text"
ng-model="vm.searchTerm"
ng-change="vm.search(vm.searchTerm)"
ng-model-options="{debounce: 750}" />

没有 ng-model-options -- 在标记中:

<input ng-change="inputChanged()">

在您的后备 Controller /范围中

var inputChangedPromise;
$scope.inputChanged = function(){
if(inputChangedPromise){
$timeout.cancel(inputChangedPromise);
}
inputChangedPromise = $timeout(taskToDo,1000);
}

那么您的 taskToDo 只会在 1000 毫秒没有更改后运行。

关于angularjs - 如何使 angularjs ngChange 处理程序仅在用户完成输入时调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22158063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com