Angular 停止并清除间隔

Angular Stopping and Clearing an interval

我在组件中有这个:

  ngOnInit() {
    setInterval(() => {
        console.log('still running...');
      }, 1000);
    }

  stop() {
    clearInterval();
  }

如何让它停止并清除,以便我不再在控制台中看到任何 console.logs?

您应该存储从 setInterval 返回的引用并将其作为参数传递给 clearInterval

  intervalRef;

  ngOnInit() {
    this.intervalRef = setInterval(() => {
      console.log('still running...');
    }, 1000);
  }

  stop() {
    clearInterval(this.intervalRef);
  }

你可以试试here

您需要提供您要清除的区间ID:

intervalID;

ngOnInit() {
  this.intervalID = setInterval(() => {
    console.log('still running...');
  }, 1000);
}

stop() {
  clearInterval(intervalID);
}