【发布时间】:2016-05-18 01:40:10
【问题描述】:
我有一个小型网络应用程序,它接受来自人类的input 来创建搜索参数。我正在使用ng-model-options 去抖动ng-change 函数来执行搜索。
我在表格的列名旁边有一个小箭头,可以让用户进行排序(有三个图标 - up-down、up 和 down,用于使用 ng-class 显示的 sort_field 和 sort_order);我想对这些进行更改,并在使用 debounce 稍作延迟后执行搜索。问题是我不确定如何使用 ng-model 将特定参数绑定到这些图标。我不希望有人敲击排序图标并导致服务器或浏览器崩溃。
我宁愿在页面上设置一个位置,上面写着要观察search_param 对象,并在它发生变化500 毫秒后触发搜索。这样,当用户完成编辑它们时将调用任何输入字段或排序选择,这会触发将这些参数发送到端点的函数。
AngularJS 的策略是什么?现在所有输入字段都绑定了search_param 对象中的一个字段,并让ng-model-options 在更改时去抖动。这是很多重复的代码。
【问题讨论】:
-
你在任何地方都对
ng-change使用相同的函数吗?在这种情况下,您可以使用$timeout,如果队列中没有任何搜索,您可以使用$timeout开始搜索。如果有,只需取消$timeout并开始一个新的。
标签: javascript angularjs debouncing