首页 > 代码库 > angularjs中的$destroy和$timeout

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