我有一个文本框,用户可以在其中输入他所在地区的名称,并且我根据他的输入向他显示了一些选项。我正在进行 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/