当前位置: 首页 > 面试题库 >

如何通过$ http将angular-ui的预输入与服务器绑定以进行服务器端优化?

商开宇
2023-03-14
问题内容

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

在这种情况下,我应该完全忘记提前输入并实施带有下拉菜单的自定义解决方案,还是可以轻松地做到这一点?


问题答案:

有一种方法可以非常轻松地实现此目的,而无需推出您的自定义解决方案(至少在这种情况下不行!)。基本上,您可以将任何函数用作typeaheads表达式的一部分,例如:

<input type="text" ng-model="selected" typeahead="state for state in getStates($viewValue)">

从该示例可以看到,getStates($viewValue)可以调用方法(在范围内定义),并且该方法$viewValue对应于用户输入的值。

最好的是,您的函数可以返回一个promise,并且该typemhead将被正确地识别。

前段时间,我编写了一个示例插件,展示了如何使用服务器端调用来提供自动完成功能。选中显示美国所有城市自动填充的代码(基于geobytes.com),这些城市通过JSONP服务实时查询城市:

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

请查看它,以获取有关如何在服务器端进行过滤的有效示例(您需要至少键入3个字符才能看到结果)。当然,您不仅限于jsonp调用,还可以使用任何返回诺言的方法。



 类似资料:
  • 我有两个AWS EC2实例。服务器和客户端节点JS应用程序。 在本地,我的代码运行良好。但是在AWS,客户端会在一段时间后(例如30秒)关闭,没有任何警告/异常(由于某种原因,它无法找到并连接到服务器) 两个AWS实例都在运行:Windows Server 2016 Base。 两个AWS实例都有自己的服务器“AWS安全组”。只是为了确保我没有阻止两个安全组当前允许的任何东西:“所有流量到任何IP

  • 通过HTTP加载一个简单的用户界面,我们需要一个web服务器,它为UI文件服务。但是首先我们需要有用户界面,我们在项目里创建一个创建了红色矩形框的main.qml。 // main.qml import QtQuick 2.0 Rectangle { width: 320 height: 320 color: '#ff0000' } 我们加载一段python脚本来提供这

  • 我试图了解服务器-客户端网络如何为实时多人游戏工作。 假设我正在构建一个实时多人游戏,比如FPS。 如果玩家A向玩家B开枪,后端< code >服务器需要告诉玩家B他们被击中了。 我知道如何让玩家 A 告诉后端服务器他开了一枪,只是向服务器发送请求,但是如何让后端告诉玩家 他们被枪杀了? 玩家B是否必须每0.1秒检查一次后端以查看是否发生了什么事情,或者是否有更有效的方法?

  • ?> 完全协程化的Http服务器实现,Co\Http\Server继承自Co\Server,在此不再赘述,只说差异。 与 Http\Server 的不同之处: 可以在运行时动态地创建、销毁 对连接的处理是在单独的子协程中完成,客户端连接的Connect、Request、Response、Close是完全串行的 !> 需要v4.4.0或更高版本 !> 若编译时开启HTTP2,则默认会启用HTTP2协

  • 程序代码 http_server.php $http = new Swoole\Http\Server("0.0.0.0", 9501); $http->on('request', function ($request, $response) { var_dump($request->get, $request->post); $response->header("Content