angularjs中的$destroy和$timeout
阿新 • • 發佈:2017-09-05
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