AngularJS自动同步服务器和客户端之间的数据
在AngularJS文档中有些东西我似乎无法find,或者我只是想念。
我在后端创build了一个带有NodeJS和Express的Web应用程序,我试图了解它如何在前端与Angular进行交互。 特别是,我将有一个用于Angular获取信息的JSON API。 我希望前端始终处于最新状态。
我的问题是:
- 双向数据绑定function是否意味着Angular($ resource或$ http)每n秒自动从服务器获取数据?
- 它自然使用长轮询,短轮询还是websocket?
- 你需要JQuery来实现服务器 – 客户端同步还是一切都可以用Angular来完成?
- 你是否需要添加额外的代码来使这种行为发生? 我需要使用$超时吗?
我似乎find的每个例子都涉及客户端获取数据一次。 不与服务器同步数据。
AngularJS中的双向绑定是指数据模型($ scope)和你的视图(指令)。 例如,如果数据在模型中发生变化,视图将自动更新。 同样,如果用户修改视图中的数据,您的模型将自动更新。
通过$ http服务模块进行与Web服务的交互。 因此,要从您的RESTful API获取数据,您需要执行以下操作:
$http.get('/someUrl').success(successCallback);
$ http的完整文档位于AngularJS站点上 。 我想你会发现它非常类似于jQuery的$ .ajax方法。 您可以使用angular的$ timeout服务(基本上是setTimeout的包装器)轻松设置$ http.get()进行短轮询。
要在AngularJS客户端和服务器API之间进行实时更新,您可能需要查看Socket.io 。 它使用node.js在浏览器和服务器之间创build一个活动套接字连接,并为旧版浏览器提供回退机制(flash,long-polling)。 GitHub上有一个样板项目,演示了如何使用Socket.io设置AngularJS: https : //github.com/btford/angular-socket-io-seed
回顾一下:
双向数据绑定function是否意味着Angular($ resource或$ http)每n秒自动从服务器获取数据?
不,双向绑定是在Angular模型和视图之间。
它自然使用长轮询,短轮询还是websocket?
Angular默认不包含这些内容。 你必须自己设置它们。
你需要JQuery来实现服务器 – 客户端同步还是一切都可以用Angular来完成?
从广义上讲,$ http是jQuery的$ .ajax的Angular等价物
你是否需要添加额外的代码来使这种行为发生? 我需要使用$超时吗?
使用$ timeout进行短轮询,或者为长轮询和/或websockets推出自己的解决scheme(请参阅angular-socket-io-seed项目)。
- 何时在TypeScript / Angular2中使用接口和模型
- ngClass中的dynamic类名在angular2中
- 如何select下拉protractorjs e2etesting的选项
- 无法绑定到“formControl”,因为它不是“input”的已知属性 – angular2材料自动完成问题
- 如何扩展/inheritanceAngular2组件?
- 在Angular 2中dynamic添加事件监听器
- 在量angular器中,browser.isElementPresent vs element.isPresent vs element.isElementPresent
- 量angular器:element.getText()返回一个对象,而不是String
- 将当前范围传递给AngularJS服务