1. 程式人生 > >angularjs中的$destroy和$timeout

angularjs中的$destroy和$timeout

logs bsp angularjs ava angular 一個 tar asc .com

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