微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 如何通过$http服务器端优化与角色ui的前端与服务器绑定?

前面的例子( http://angular-ui.github.io/bootstrap/#/typeahead)提到很容易实现一个后端到这个自动完成,但没有提供例子。我特别感兴趣的是找出当前输入的字符串,以便我可以发送到服务器,并发送回已经过滤的结果 – 我想做这个优化服务器端,并尽量减少我的查询,我不认为返回整个结果集并且仅排除用于显示的不匹配项目对于在数据库中具有超过200,000个条目的应用是可行的。

在这种情况下,我应该完全忘记typeahead和实现一个自定义解决方案与下拉菜单,或有一种方法来轻松地做到这一点?

有一种方法来实现这非常容易,没有必要推出您的自定义解决方案(至少不是这种情况!)。基本上你可以使用任何函数作为字符串表达式的一部分,例如:
<input type="text" ng-model="selected" typeahead="state for state in getStates($viewValue)">

从此示例中可以看出,可以调用getStates($ viewValue)方法(在scope上定义),$ viewValue对应于用户输入的值。

这里最好的是,你的函数可以返回一个promise,这个promise将被正确识别的typeahead。

前一段时间我写了一个示例plunk,演示如何使用服务器端调用来提供自动完成。检查显示美国所有城市(基于geobytes.com)的自动完成功能,其中城市从JSONP服务进行实时查询

http://plnkr.co/edit/t1neIS?p=preview

查看一个关于如何在服务器端进行过滤的工作示例(您需要键入至少3个字符以查看结果)。当然你不限于jsonp调用,你可以使用任何方法返回一个promise。

原文地址:https://www.jb51.cc/angularjs/146824.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐