Ember - 从 ember 数据初始化 table 数据,然后通过 websocket 更新
Ember - Initializing table data from ember-data then updating via websocket
我有 table 的数据要动态更新。
当用户转到页面时,我想用 rails 后端的数据初始化 table。轻松使用模型挂钩和 ember 数据。
然后我想使用连接的 websocket 流来刷新此信息。
我该如何处理。我是否应该使用 websocket 更新来更新模型(而不将数据提交到后端)? table 数据是组件中的一个对象数组,我应该只从模型 setupController 函数中初始化它然后直接更新数组吗?
有没有一种简单的方法可以将 websocket 数据 JSON 映射到模型或 table 数组中?
是的,您应该可以使用 Ember 数据来做到这一点。警告:我还没有尝试过这个。
您在某处打开您的 websocket 流并添加一个 "onmessage" 处理程序。在该处理程序中,您将从服务器接收有效负载,您可以在其中使用 store.pushPayload()
更新商店中的记录。如果记录(由 id
字段标识)已经在商店中,它将被替换。否则它将被添加为新记录。如果您在当前模板中显示记录,您应该只会在推送新记录时看到值发生变化。
This Ember guide page 描述了这种情况,您正在从服务器流式传输数据,并且希望看到用户界面的即时更新。
我有 table 的数据要动态更新。
当用户转到页面时,我想用 rails 后端的数据初始化 table。轻松使用模型挂钩和 ember 数据。
然后我想使用连接的 websocket 流来刷新此信息。
我该如何处理。我是否应该使用 websocket 更新来更新模型(而不将数据提交到后端)? table 数据是组件中的一个对象数组,我应该只从模型 setupController 函数中初始化它然后直接更新数组吗?
有没有一种简单的方法可以将 websocket 数据 JSON 映射到模型或 table 数组中?
是的,您应该可以使用 Ember 数据来做到这一点。警告:我还没有尝试过这个。
您在某处打开您的 websocket 流并添加一个 "onmessage" 处理程序。在该处理程序中,您将从服务器接收有效负载,您可以在其中使用 store.pushPayload()
更新商店中的记录。如果记录(由 id
字段标识)已经在商店中,它将被替换。否则它将被添加为新记录。如果您在当前模板中显示记录,您应该只会在推送新记录时看到值发生变化。
This Ember guide page 描述了这种情况,您正在从服务器流式传输数据,并且希望看到用户界面的即时更新。