【发布时间】:2013-10-13 04:48:42
【问题描述】:
我对使用 Socket.IO 的实时数据非常陌生。我想弄清楚在 AngularJS ng-repeat 中处理来自 Socket.IO 的数据的最佳方法是什么?
现在,每当有更新时,我都会让后端发送整个数据结构。
但这会导致ng-repeat 刷新以显示新数据(如果我仅在客户端对数据进行任何修改,则它们会在下次从后端发送数据时被删除)。有一个更好的方法吗?
我是否应该在后端过滤掉唯一需要更新的数据,然后将其发送到前端,而不是再次交付整个数据结构? (但是我将如何在只有更新数据的ng-repeat 中应用它......)
我尝试在前端使用 UnderscoreJS 扩展方法,但它似乎会导致ng-repeat 中的数据排序出现问题(orderBy 和 filter 都中断)。
我的具体用例是处理运动成绩(数组中的几场比赛(对象)),我会不断更新我的数据,无论它们是比赛中的时间变化,还是得分比赛。更新几乎每秒都在发生。我正在利用这个特定的 API 并获取特定刷新变量上的所有数据,然后通过套接字将其发送到前端。确实不是使用套接字的理想情况,但它是与我迄今为止发现的 API 交互的唯一方式。
【问题讨论】:
标签: node.js angularjs socket.io