2016-06-23 135 views
2

我使用角度$超時重新加載api中的數據並在dom中顯示活動統計信息。重裝效果很好,5秒後重裝。但問題是,在我點擊另一個選項卡後,我不需要$超時並重新加載數據,但仍然會像以前一樣在頁面上重新加載數據。該數據不在DOM中,但在網絡控制檯中仍然從代碼中重新加載數據,並使用該數據調用http get url。頁面更改後的角度超時刷新

$scope.reload = function() { 
$http.get(serviceBase + 'live-stats'). 
    success(function (res) { 
     $scope.proizvedeno = res; 
console.log(res); 
     }); 
     $timeout(function(){ 
      $scope.reload(); 
      }, 5000); 
    }; 
      $scope.reload(); 

P.S.我使用角加載欄,有沒有什麼辦法,當這個酒吧不旋轉時只重新加載頁面的某一部分,在這種情況下檢索數據從「超時」,以顯示統計

編輯: 我加這本CTRL

$scope.reload = function() { 
$http.get(serviceBase + 'live-stats'). 
    success(function (res) { 
     $scope.proizvedeno = res; 
console.log(res); 
     }); 
     $timeout(function(){ 
      $scope.reload(); 
      }, 5000); 
$scope.$on('$destroy', function(){ //this is what i add 
$timeout.cancel(reload);    //this is what i add 
    }; 
      $scope.reload(); 

但仍然超時未取消

回答

1

我只需要申報 「VAR重裝」

var reload = $timeout(function(){ 
      $scope.reload(); 
      }, 5000); 
      $scope.$on('$destroy', function(){ 
$timeout.cancel(reload); 

});