Angular Academy · Les

ngOnInit en initialisatie

Voer instellogica uit wanneer een component start.

Les 1 van 413 stappen

ngOnInit en initialisatie is een gratis Angular Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Angular Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Angular Academy bevat in totaal 4 lessen.

Wat zijn lifecycle-hooks?

Angular-componenten hebben een levenscyclus die door het framework wordt beheerd: aanmaken, change detection, renderen en vernietigen. Met lifecycle-hooks kun je op specifieke momenten code uitvoeren.

Kennismaken met OnInit

De OnInit-hook wordt één keer uitgevoerd nadat Angular de componentinvoer heeft ingesteld en de eerste weergave heeft gerenderd. Dit is de standaardplaats voor initialisatielogica.

OnInit implementeren

Implementeer de OnInit-interface en voeg de methode ngOnInit toe. Angular roept deze automatisch aan.

import { Component, OnInit } from "@angular/core";

@Component({ selector: "app-demo", template: "" })
export class DemoComponent implements OnInit {
  ngOnInit(): void {
    console.log("Component initialized");
  }
}

Constructor versus ngOnInit

De constructor wordt eerst uitgevoerd, voordat invoer is ingesteld, en mag alleen lichte dependency-injectie uitvoeren. Gebruik ngOnInit voor de daadwerkelijke configuratie zodra invoer beschikbaar is.

constructor(private http: HttpClient) {
  // inputs NOT ready yet
}

ngOnInit() {
  // inputs ARE ready here
}

Invoer is klaar in ngOnInit

Tegen de tijd dat ngOnInit wordt uitgevoerd, hebben alle @Input-properties hun beginwaarden die aan de parent zijn gekoppeld.

@Input() userId!: string;

ngOnInit() {
  console.log(this.userId); // available
}

Gegevens ophalen in ngOnInit

Een veelgebruikt patroon is om gegevens in ngOnInit uit een service te laden, omdat je daar toegang hebt tot invoer en afhankelijkheden.

ngOnInit() {
  this.userService.getUser(this.userId)
    .subscribe(u => this.user = u);
}

ngOnInit wordt één keer uitgevoerd

In tegenstelling tot hooks voor change detection wordt ngOnInit precies één keer uitgevoerd tijdens de levensduur van de component, direct na de eerste ngOnChanges.

Volgorde ten opzichte van ngOnChanges

Als de component invoer heeft, wordt ngOnChanges eerst uitgevoerd met de beginwaarden en daarna ngOnInit. Zonder invoer wordt ngOnInit alsnog uitgevoerd.

// sequence with inputs:
// 1. constructor
// 2. ngOnChanges (first)
// 3. ngOnInit

Formulieren initialiseren

Reactieve formulieren opbouwen is een klassieke taak voor ngOnInit, omdat je mogelijk geïnjecteerde services nodig hebt om het formulier in te stellen.

form!: FormGroup;

ngOnInit() {
  this.form = this.fb.group({
    name: [""],
    email: [""]
  });
}

Houd constructors licht

Vermijd zwaar werk in de constructor. Die wordt uitgevoerd voordat Angular invoer koppelt, en bijwerkingen daarin maken componenten moeilijker te testen en te voorspellen.

Asynchrone initialisatie

Je kunt asynchrone logica aanroepen vanuit ngOnInit, maar de methode zelf retourneert void; abonneer je binnen de methode of gebruik daar asynchrone patronen.

ngOnInit() {
  this.loadAsync();
}

private async loadAsync() {
  this.data = await firstValueFrom(this.api.get());
}

Korte controle

Test je begrip van OnInit.

Samenvatting

De OnInit-hook met ngOnInit wordt één keer uitgevoerd nadat invoer is gekoppeld en is ideaal voor het ophalen van gegevens en het instellen van formulieren. Houd de constructor licht en reserveer initialisatie voor ngOnInit.

Gratis beginnen

Leer HTML met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
38
Lessen
144

Veelgestelde vragen

Is de les “ngOnInit en initialisatie” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Angular Academy, waaronder “ngOnInit en initialisatie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Angular Academy bevat in totaal 4 lessen.

Wat leer ik in “ngOnInit en initialisatie”?

Voer instellogica uit wanneer een component start. Je oefent met Angular Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Angular Academy te beginnen?

Ervaring vooraf is niet nodig. Angular Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “ngOnInit en initialisatie”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Angular Academy?

Ja. Elke les over Angular Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. ngOnInit en initialisatie
  2. ngOnChanges en inputwijzigingen
  3. ngOnDestroy en opruimen
  4. AfterView- en AfterContent-hooks
← Terug naar Angular Academy