我的代码如下:
var vm = this;
vm.debugMessages = [];
socket.on("message", function (data) {
$scope.$apply(function (err) {
vm.message.push(data);
});
});
每次我通过套接字收到消息时,它都会将新数据推送到数组。该数组在模板中显示为表格。不幸的是,每次新数据到达时UI都会滞后。此外,在视图中显示阵列的新内容之前需要花费一些时间。我该怎么办?
编辑:每秒最多有五条消息。
答案 0 :(得分:0)
我有同样的问题,并找到了适合我的解决方案。而是使用范围尝试处理rootScope并添加一点保护以防止角度摘要错误。 在socket.io消息事件中,首先将数据推送到数组并调用rootScope apply方法。您可以尝试这样的事情:if($ rootScope。$$ phase!=' $ apply'&& $ rootScope。$$ phase!=' $ digest')$ rootScope $申请();
别忘了注入$ rootScope依赖项。