Ответ 1
Всякий раз, когда пользователь меняет страницу, область, связанная с контроллером маршрута (/page1
в примере ниже), будет отправлена a $destroy
событие, Вы можете 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); });
}