角度数据绑定到远程服务器

时间:2014-02-28 18:05:48

标签: ruby-on-rails angularjs rest

角度数据/视图绑定是一个很好的概念。在角度前端和远程服务器之间传输数据时,各种基于REST的库也使生活变得非常简单。在我的情况下,我正在使用基于Rails API的服务器。

有没有人在野外看到任何与远程服务器实现角度式数据绑定的代码?这将是理想的:更新$ scope并更新视图和远程服务器。如果相反的情况会更好:远程服务器中的更改会被推送到客户端。

有这样的项目吗?

2 个答案:

答案 0 :(得分:1)

你想要实现的壁橱项目是Angular Fire,但要注意Firebase是一个付费的Saas服务。您也可以尝试Meteor

答案 1 :(得分:1)

我们编写了自己的数据绑定机制,将angular.js模型与服务器端的视图模型同步。服务器是用ASP.NET编写的,但我认为这种方法可以适应其他服务器技术。

对于服务器可以实时更新客户端视图模型的双向绑定,您始终需要一个基于长轮询或websockets构建的双工传输层。我们使用SignalR。

最初,必须将整个服务器端数据模型发送到客户端。我们将其序列化为JSON并通过SignalR发送。

C#视图模型属性的服务器端更改作为包含属性路径的数据包发送到客户端,例如 Persons [42] .Address.City ,以及值本身,例如纽约

javascript视图模型属性的客户端更改以相同的方式发送到服务器。为了捕获更改事件,我们将原始javascript模型的所有字段封装在get / set属性中,其中setter将更新数据包发送到服务器。

可以以类似的方式调用C#视图模型的

服务器端方法。视图模型中的所有对象都有一个invokeMethod函数,可以像这样使用: Products [42] .Manufacturer.invokeMethod(' SendEmail',' mailsubject',' ; mailbody&#39)。这将向服务器发送一个包,其中包含方法路径 Products [42] .Manufacturer.SendEmail ,并将参数作为 [' mailsubject',&#39>的数组; mailbody'。]

源代码可在此处找到:SharpAngie。对于.NET以外的技术,您可能只需要sharp-angie.js中的代码。