Javascript 路线以角度2变化时的结束间隔
我在路由器出口内的角度2组件中启动计时器Javascript 路线以角度2变化时的结束间隔,javascript,angular,typescript,angular2-routing,Javascript,Angular,Typescript,Angular2 Routing,我在路由器出口内的角度2组件中启动计时器 setInterval(() => { ... }, 10000); 当我离开嵌入组件的路径时,计时器不会退出。我怎样才能做到这一点呢?这应该可以做到: routerOnActivate() { this.timer = setInterval(()=>{ ... }, 10000); } routerOnDeactivate() { clearInterval(th
setInterval(() => {
...
}, 10000);
当我离开嵌入组件的路径时,计时器不会退出。我怎样才能做到这一点呢?这应该可以做到:
routerOnActivate() {
this.timer = setInterval(()=>{
...
}, 10000);
}
routerOnDeactivate() {
clearInterval(this.timer);
}
你可以从这个钩子上清除间隔。 从组件/视图控制矿山
export classTestInterval implements OnInit, OnDestroy{
public timerInterval:any;
ngOnInit(){
// Need interval scope in the component could be from somewhere else, but we need scope to be able to clear it on destruction of component.
this.timerInterval = setInterval(function(){...},10000);
}
ngOnDestroy() {
// Will clear when component is destroyed e.g. route is navigated away from.
clearInterval(this.timerInterval);
}
}
也许你想要的是从
angular2/router
启动OnActivate
(也可能是OnActivate
,取决于你的用例),因为你说过如果我理解正确,你想在用户离开路线时结束计时器
export Compnent implements OnInit, OnDeactivate {
private timer;
ngOnInit(){
this.timer = setInterval(_ => {
// disco
}, 10000);
}
routerOnDeactivate() {
clearInterval(this.timer);
}
}