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。

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...