복붙노트

[ANGULAR] Angular 2의 경로 변경시 끝 간격

ANGULAR

Angular 2의 경로 변경시 끝 간격

해결법


  1. 1.이것은해야합니다 :

    이것은해야합니다 :

    routerOnActivate() {
      this.timer = setInterval(()=>{
                    ...
                }, 10000);
    }
    
    routerOnDeactivate() {
      clearInterval(this.timer);
    }
    

  2. 2.이 훅에서 간격을 지울 수 있습니다. 광산은 구성 요소 /보기에서 제어됩니다.

    이 훅에서 간격을 지울 수 있습니다. 광산은 구성 요소 /보기에서 제어됩니다.

    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);
         }
    }
    

  3. 3.Angular2 / 라우터에서 원하는 것이 더 좋을 것입니다. 사용자가 올바르게 이해할 경우 경로를 떠날 때 타이머를 종료하려고했기 때문에 원하는대로 켜짐을 더 좋습니다.

    Angular2 / 라우터에서 원하는 것이 더 좋을 것입니다. 사용자가 올바르게 이해할 경우 경로를 떠날 때 타이머를 종료하려고했기 때문에 원하는대로 켜짐을 더 좋습니다.

    export Compnent implements OnInit, OnDeactivate {
        private timer;
    
        ngOnInit(){
            this.timer = setInterval(_ => {
                // disco
            }, 10000);
        }
    
        routerOnDeactivate() {
            clearInterval(this.timer);
        }
    }
    
  4. from https://stackoverflow.com/questions/35561320/end-interval-when-route-changes-in-angular-2 by cc-by-sa and MIT license