当前位置: 首页 > 面试题库 >

如何仅当用户完成键入时才使angularjs ngChange处理程序被调用

别永年
2023-03-14
问题内容

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

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

假设用户要输入一个真正的字符串,我希望仅在用户完成将要键入的单词后才能进行呼叫。不过,我不想使用诸如模糊之类的事件。有什么比实现更好的方法setTimeout呢?


问题答案:

使用ng-model-options在角> 1.3

 <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()">

在您的后备控制器/范围内

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

然后,您taskToDo将仅在1000ms不变后运行。



 类似资料:
  • 问题内容: 用户停止键入时需要执行搜索。我知道我应该使用 setTimeout() 。但是使用 Reactjs我找不到它是如何工作的。 有人可以告诉我当用户停止键入几秒钟(假设为5)时如何调用方法(将处理Search)。我不知道该在哪里编写代码来检查用户是否停止键入。 我想在用户停止键入时调用sendToParent方法。 问题答案: 您可以按照以下方式使用您的代码, 另外,您需要在构造函数中绑定

  • 从RunAction的完成处理程序调用SCNAction似乎会挂起SceneKit。 触摸事件或旋转设备似乎可以解除挂起的障碍。 繁殖: 1)采取默认的SceneKit项目,你得到的启动与旋转的宇宙飞船。 2) 替换动画代码: 与: 3)在模拟器或真实设备上运行(两者问题相同) 4)结果是: > 宇宙飞船旋转正常 DONE ROTATE打印出来了OK 现在它挂起来了 轻触屏幕(或将设备旋转至横向)

  • 我正在努力学习如何通过discord创建discord机器人。py,并希望添加一项功能,每当其他用户加入bot当前所在的语音频道时,bot就会发送一条消息。我不知道如何使用事件处理程序本身,也不太了解他们的文档来使用它。 根据我对文档的有限理解,每当用户静音、耳聋、离开或加入通道时,都应该使用事件处理程序。 然而,即使我试图让它识别这些操作,它也会给我一条错误消息:

  • 我正在制作一个显示化学反应动画的应用程序。每个原子都是一个SCNSphere,并用SCNActions动画。我试图使用runAction()中的完成处理程序在当前操作完成后调用下一个动画,因为每个原子必须进行许多不同的运动。 这只是我为简化过程而编写的一些测试代码,实际代码将在对象数组中循环。 语句工作正常,只有在操作完成后才会调用它,但是新的SCNAction不会触发。我是否遗漏了什么来启动下一

  • 默认行为是字段中的提示文本在字段被聚焦时被擦除。这是当标记在字段中时。 是否可以配置文本字段,以便仅在用户开始键入时删除提示文本? 否则,我需要在每个文本字段旁边/上方添加一个标签,以描述其中的值。