ng-repeat内的数据绑定缓慢

时间:2018-01-17 12:52:10

标签: angularjs angularjs-ng-repeat

我在加载页面的控制器中加载了一个对象数组,在socket.io事件中我必须更改其中的数据,socket.io工作正常,数据在几秒钟内发生变化,但需要17秒在html中更新

这是我的控制器

  $scope.inprogresstasks=[{}];
    Home.getinprogressTasks().then(function (data) {
        if(data.data.success){
            $scope.inprogresstasks = data.data.inprogresstasks;
        }
        else{
           $scope.inprogresstasks=[{}];
        }
    });

...

socket.on('dripo', function(data) {
  if(data.status == 'start'){
    for(var key in $scope.inprogresstasks){
      if($scope.inprogresstasks[key]._id == data.taskid){
           $scope.inprogresstasks[key].percentage = data.percentage;
           console.log($scope.inprogresstasks);
            }
          }
  }
});

这是我的测试用html代码

<div data-ng-repeat="inprogresstask in inprogresstasks">
    {{inprogresstask.percentage}}
</div>

1 个答案:

答案 0 :(得分:0)

socket.on('dripo', function(data) {
 $scope.$apply(function () {
  if(data.status == 'start'){
    for(var key in $scope.inprogresstasks){
      if($scope.inprogresstasks[key]._id == data.taskid){
           $scope.inprogresstasks[key].percentage = data.percentage;
           console.log($scope.inprogresstasks);
            }
          }
  }
});

});