Angular14 min read

Angular Lifecycle Hooks (ngOnInit, ngOnDestroy, and More)

Learn the lifecycle hooks that control setup, updates, and cleanup in Angular components.

Caleb Russell
July 22, 2025
8.8k385

Lifecycle hooks are methods Angular calls at different stages of a component’s life.

The ones you will use most

ngOnInit

Runs once after the component is created.
Good for:

  • loading initial data
  • starting subscriptions

ngOnDestroy

Runs once before the component is removed.
Good for:

  • cleaning subscriptions
  • stopping timers

Example

import { Component, OnDestroy, OnInit } from '@angular/core';
import { Subscription, interval } from 'rxjs';

@Component({
  selector: 'app-timer',
  standalone: true,
  template: `<p>Seconds: {{ seconds }}</p>`,
})
export class TimerComponent implements OnInit, OnDestroy {
  seconds = 0;
  private sub?: Subscription;

  ngOnInit() {
    this.sub = interval(1000).subscribe(() => this.seconds++);
  }

  ngOnDestroy() {
    this.sub?.unsubscribe();
  }
}

Quick tip

  • HTTP Observables complete automatically, usually safe.
  • Streams like interval, router events, websockets need cleanup.

Next: Template-driven forms, building real input screens.

#Angular#Components#Intermediate