我需要实时更新一个表格,数据来自于网络套接字。目前我的做法是每次从套接字获取数据时就将其附加到一个字符串中,并创建一个双重数组,用ng-repeat显示该表格。但是这种方式的性能相当慢。此外,这种方法假定我按顺序接收消息,但实际上我没有按正确的顺序接收到数据。将数据格式化为html或json格式并通过web socket发送,还是直接发送原始数据更好呢?您有更好的方法吗?
如果您每次从该字符串重新创建二维数组,那么更快的方法是仅将新数据推送到数组中。
将数据作为HTML发送不是正确的方法,但在服务器上将数据格式化为JSON几乎肯定会帮助加速客户端的速度。将小块数据发送并逐步将它们附加到客户端的数组中,然后重新排序数据(如果需要)可能会更快。
另一个选择是使用类似于Underscore.js的限制函数来限制您在AngularJS中引起摘要周期的次数。如果您不想将underscore全部包含到项目中,则可以使用just throttle。