2017-10-08 65 views
0

我有一张我想动态更新的数据表。Ember - 从烬数据初始化表数据,然后通过websocket进行更新

当用户转到页面时,我想用我的rails后端数据初始化表格。轻松使用模型钩子和余烬数据。

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

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

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

回答

0

是的,你应该可以用Ember Data做到这一点。警告:我没有试过这个。

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

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

补充阅读:the API for pushPayload

+0

我设法完成这一点。除了串行器绑定到模型外,它工作良好。后端给出了一种JSON格式和websocket的不同之处。我放弃了担心,只是改变了websocket格式。 –

+0

如果你不想使用序列化器,你可以使用'store.push()'而不是'store.pushPayload()'。 –