angularjs - 在 angularjs 的文本框中显示建议

标签 angularjs node.js bootstrap-typeahead

我有一个文本框,用户可以在其中输入他所在地区的名称,并且我根据他的输入向他显示了一些选项。我正在进行 api 调用来获取可能的数据。 api是用nodejs写的。我正在使用 bootstrap.typeahed 来显示可能的建议。每当用户输入字母时,我都会进行 api 调用。已完成,但如果用户输入速度非常快,我将面临问题。然后,API 调用不会按照调用顺序返回,因此用户有时会看到错误的数据。如何防止这种情况发生?在 Angular 中,如果稍后的 api 调用已经结束,我可以拒绝 api 调用吗?

最佳答案

使用ng-model-options并设置 debounce 以在计时器到期时调用 api。 如果有人打字速度很快,它会捕获多个字母,并且会以较慢的速度一次捕获一个字母。这会留出一点空间,这样就不会混淆。如果延迟很短,它会平滑地移动,没有明显的延迟。


将此属性添加到您的元素
ng-model-options="{ debounce: 400 }"

关于angularjs - 在 angularjs 的文本框中显示建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36773366/

相关文章:

javascript - 为网格创建二维数组

javascript - 引用错误: global is not defined with web3

javascript - 如何在 Atom-Shell 中运行 reload() 和 open()

python - 通过nodejs执行python脚本

javascript - 如何使用自定义参数让预先输入填充我的搜索栏?

javascript - Angular $http 服务不加载 json 文件

javascript - 幻灯片中 HTML 页面的 AngularJS 路由?

angularjs - Bootstrap-UI Typeahead 在结果列表中显示多个属性?

jquery-ui - 从 Jquery-ui 自动完成到 typeahead.js

javascript - 修改字符串中的 "a"标签并在javascript函数中返回更新后的字符串