我在加载页面的控制器中加载了一个对象数组,在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>
答案 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);
}
}
}
});
});