页面更改后角度超时重新加载

时间:2016-06-23 10:32:14

标签: angularjs timeout

我使用angular $ time out从api重新加载数据并在dom中显示实时统计信息。重新加载效果很好,5秒后重新加载。但问题是,在我点击另一个标签后,我不需要$ timeout和重新加载数据,仍然会像之前一样重新加载数据。该数据不在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。我使用angular-load-bar,当重新加载页面的某个部分时,有没有办法让这个栏不旋转,在这种情况下从" timeout"显示统计信息

编辑: 我将此添加到此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 个答案:

答案 0 :(得分:1)

我只需要声明“var reload”

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

});