AngularJS 中的双向绑定指的是数据模型($scope)和你的视图(指令)。例如,如果模型中的数据发生变化,视图将自动更新。同样,如果用户修改视图中的数据,您的模型将自动更新。
与 Web 服务的交互是通过 $http 服务模块进行的。因此,要从您的 RESTful API 中获取数据,您可以执行以下操作:
$http.get('/someUrl').success(successCallback);
$http 的完整文档在AngularJS 站点上。我想你会发现它与 jQuery 的 $.ajax 方法非常相似。您可以使用 Angular 的 $timeout 服务(基本上是 setTimeout 的包装器)轻松设置 $http.get() 进行短轮询。
对于 AngularJS 客户端和服务器 API 之间的实时更新,您可能需要查看Socket.io。它使用 node.js 在浏览器和服务器之间创建实时套接字连接,并为旧版浏览器提供后备机制(闪存、长轮询)。GitHub 上有一个样板项目,演示了如何使用 Socket.io 设置 AngularJS:
https ://github.com/btford/angular-socket-io-seed
回顾一下:
双向数据绑定功能是否意味着 Angular($resource 或 $http)每隔 n 秒自动从服务器获取数据?
不,双向绑定是在 Angular 模型和视图之间。
它自然会使用长轮询、短轮询或 websockets 吗?
默认情况下,Angular 不包括任何这些。您必须自己设置它们。
您是否需要 JQuery 来实现服务器-客户端同步,或者一切都可以用 Angular 完成?
$http 在广义上是 Angular 的 jQuery 的 $.ajax 等价物
您是否必须添加额外的代码才能使这种行为发生?我需要使用 $timeout 吗?
使用 $timeout 进行短轮询,或者为长轮询和/或 websockets 推出自己的解决方案(请参阅angular-socket-io-seed项目)。