每当用户更改页面时,与路由控制器关联的范围(/page1
在下面的示例中)将被发送一个$destroy
event。你可以cancel
说$interval
在一个侦听器事件:
app.config(function ($routeProvider) {
$routeProvider.when('/page1', {
template: '<div>Page Content</div>',
controller: PageController
});
// ...
});
function PageController($scope, $interval) {
var intervalPromise = $interval(function () { /* ... */ }, 5000);
$scope.$on('$destroy', function () { $interval.cancel(intervalPromise); });
}