Ember - 从ember-data初始化表数据,然后通过websocket

时间:2017-10-08 02:03:12

标签: ruby-on-rails ember.js websocket

我有一个数据表,我想动态更新。

当用户访问该页面时,我想用来自rails后端的数据初始化该表。使用模型钩子和余烬数据很容易。

然后我想使用连接的websocket流来保持这些信息的刷新。

我该如何管理呢。我应该使用websocket更新来更新模型(不将数据提交到后端)吗?表数据是组件中的对象数组,我应该从模型setupController函数初始化它,然后直接更新数组吗?

有没有一种简单的方法可以将websocket数据JSON映射到模型或表数组中?

1 个答案:

答案 0 :(得分:0)

是的,您应该可以使用Ember Data执行此操作。警告:我没试过这个。

您正在打开websocket流并添加“onmessage”处理程序。在该处理程序中,您将从服务器接收有效负载,您可以使用store.pushPayload()更新存储中的记录。如果记录(由id字段标识)已在商店中,则将替换它。否则它将被添加为新记录。如果要在当前模板中显示记录,则只需在按下新记录时看到值发生变化。

This Ember guide page描述了这种情况,您从服务器传输数据,并希望看到用户界面的即时更新。

补充阅读:the API for pushPayload