I start a timer in an Angular 2 component which is inside a router outlet.
setInterval(() => {
...
}, 10000);
When I leave the route
Maybe for what you want is better OnDeactivate
from angular2/router
(and maybe also OnActivate
depending on your usecase) because you said you want to end the timer when the user leaves the route If I understand it correctly.
export Compnent implements OnInit, OnDeactivate {
private timer;
ngOnInit(){
this.timer = setInterval(_ => {
// disco
}, 10000);
}
routerOnDeactivate() {
clearInterval(this.timer);
}
}