angularjs中的$destroy和$timeout

Posted 阿力瓦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angularjs中的$destroy和$timeout相关的知识,希望对你有一定的参考价值。

module.controller("TestController", function($scope, $timeout) {
     
    var onTimeout = function() {
        $scope.value += 1;
        timer = $timeout(onTimeout, 1000);
    };
    var timer = $timeout(onTimeout, 1000);
     
    $scope.value = 0;
 
    $scope.$on("$destroy", function() {
        if (timer) {
            $timeout.cancel(timer);
        }
    });
});

 

上面的demo展示了$destroy和$timeout的用法

$destroy用在清理一些资源.比如轮询这些.

$timeout 基于window.timeout的封装 $timeoutAPI

常用方法 var promise = $timeout(onTimeout, 1000); 返回一个promise 对象用于在 $timeout.cancel(promise); 

终止这次timeout 操作;

当在一个页面需要轮询的时候我就可以用到$timeout,当切换到下一个控制器的时候停止当前页面的timeout操作用到$destroy.

以上是关于angularjs中的$destroy和$timeout的主要内容,如果未能解决你的问题,请参考以下文章

AngularJs-destroy事件 (页面离开事件)

angularjs中ckeditor的destroy问题

Angularjs - 如何“ng-repeat”一个 div 以获取“ng-model 中的值”-times?

angularJS中的控制器链接

Laravel 中的 destroy() 和 delete() 方法有啥区别?

angularjs过滤器