加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS自动在服务器和客户端之间同步数据

发布时间:2020-12-17 09:05:10 所属栏目:安全 来源:网络整理
导读:有一些在AngularJS文档,我似乎找不到,或者我只是失踪。 我在后端使用NodeJS和Express创建了一个Web应用程序,我试图理解它如何与前端的Angular交互。特别是,我将有一个JSON API为Angular从中获取信息。我想要的前端总是最新的。 我的问题是: 双向数据绑
有一些在AngularJS文档,我似乎找不到,或者我只是失踪。

我在后端使用NodeJS和Express创建了一个Web应用程序,我试图理解它如何与前端的Angular交互。特别是,我将有一个JSON API为Angular从中获取信息。我想要的前端总是最新的。

我的问题是:

>双向数据绑定功能是否意味着Angular($ resource或
$ http)每n个服务器自动提取数据
秒?
>它自然使用长轮询,短轮询或websockets?
>你需要JQuery来实现服务器 – 客户端同步或者一切都可以完成
与Angular?
>你必须添加额外的代码来做这个行为
发生?我需要使用$ timeout吗?

我似乎找到的每个例子涉及客户端提取数据一次。不将数据与服务器同步。

AngularJS中的双向绑定是指数据模型($ scope)和您的视图(directives)。例如,如果数据在您的模型中更改,视图将自动更新。同样,如果用户修改视图中的数据,模型将自动更新。

与Web服务的交互通过$ http服务模块进行。因此,要从RESTful API获取数据,您可以执行以下操作:

$http.get('/someUrl').success(successCallback);

$ http的完整文档是在AngularJS site.我想你会发现它非常类似于jQuery的$ .ajax方法。你很容易设置$ http.get()用于使用angular的$ timeout服务进行短查询(基本上是setTimeout的包装器)。

对于AngularJS客户端和服务器API之间的实时更新,您可能需要查看Socket.io.它使用node.js在浏览器和服务器之间创建活动套接字连接,并具有回退机制(闪存,长轮询)适用于旧版浏览器。在GitHub上有一个样板项目,演示了如何使用Socket.io设置AngularJS:
https://github.com/btford/angular-socket-io-seed

总结:

Does the two-way data binding feature mean Angular ($resource or
$http) automatically fetches the data from the server every n seconds?

不,双向绑定是角模型和视图之间。

Does it naturally use long polling,short polling or websockets?

默认情况下,Angular不包括任何这些。你必须自己设置。

Do you need JQuery to achieve the server-client syncing or can everything be done with Angular?

$ http在广义上是jQuery的$ .ajax的Angular等价物

Do you have to add extra code to make this behavior happen? Do I need to use $timeout?

使用$ timeout进行短轮询,或者为长轮询和/或websockets滚动您自己的解决方案(请参阅angular-socket-io-seed项目)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读