大佬教程收集整理的这篇文章主要介绍了angularjs – 启动新控制器时停止$timeout,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
function IndexCtrl($scope,$timeout,RestData) { $scope.rd = {}; (function getRestDataFromServer() { RestData.query(function(data){ $scope.rd = data; $timeout(getRestDataFromServer,2000); }); })(); }
//编辑
我找到了一个解决方案,但我不知道如果它是一个好的。当我保存我的超时到$ rootScope,我可以取消它在所有其他控制器。
function IndexCtrl($scope,$rootScope,RestData) { $scope.rd = {}; (function getRestDataFromServer() { RestData.query(function(data){ $scope.rd = data; $rootScope.prom = $timeout(getRestDataFromServer,2000); }); })(); } function newPageCtrl($scope,$timeout) { $timeout.cancel($rootScope.prom); }
$ destroy事件
var promise = $timeout(getRestDataFromServer,2000); ... $scope.$on('$destroy',function(){ $timeout.cancel(promisE); });
$ LOCATIOnChangeStart
var promise = $timeout(getRestDataFromServer,2000); ... $scope.$on('$LOCATIOnChangeStart',function(){ $timeout.cancel(promisE); });
以上是大佬教程为你收集整理的angularjs – 启动新控制器时停止$timeout全部内容,希望文章能够帮你解决angularjs – 启动新控制器时停止$timeout所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。