我已经设置了一个控制器,每隔几秒就打勾一次,这反过来会调用后端api.一切都按预期工作,除非我导航到另一个部分(由一个单独的控制器处理),勾选继续触发.
是否可以完全从范围中删除控制器?
这是我当前控制器的粘贴:
myApp.controller('SupervisorController',function($scope,supervisord,$timeout) { $scope.supervisord = supervisord; (function tick() { $scope.supervisord.fetch(); $timeout(tick,2500); })(); });
解决方法
在
http://docs.angularjs.org/api/ng.$rootScope.Scope它提到了
Just before a scope is destroyed a $destroy event is broadcasted on
this scope. Application code can register a $destroy event handler
that will give it chance to perform any necessary cleanup.
这似乎正是你想要的.