Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Typen van Data Binding in Angular | Componenten en Templates
Introductie tot Angular

bookTypen van Data Binding in Angular

Wanneer een component en zijn template met elkaar communiceren, kunnen gegevens en gebeurtenissen op verschillende manieren tussen hen worden uitgewisseld. Dit wordt gegevensbinding genoemd.

In Angular zijn er vier typen gegevensbinding, elk met een specifiek doel.

Hier volgt een overzicht van hun werking aan de hand van een eenvoudig taakcomponent als voorbeeld:

task-component.ts

task-component.ts

copy

Hier wordt een taakobject aangemaakt met drie eigenschappen: id, title en completed. Deze eigenschappen beschrijven een specifieke taak—de naam en of deze is voltooid.

Interpolatie

Bijvoorbeeld, als u een variabele zoals task.title heeft, kunt u deze tussen {{ }} plaatsen en Angular zal de waarde ervan in de HTML weergeven.

task-component.html

task-component.html

copy

Wanneer Angular de template verwerkt, vindt het de expressie {{ task.title }} en vervangt deze door de huidige waarde van task.title uit de component.

Als de waarde 'Buy groceries' is, verschijnt dit exact binnen de <h3>-tag. Hetzelfde proces geldt voor alle andere waarden die u interpoleert.

Dus, interpolatie is eenrichtingsverkeer: gegevens stromen van de component naar de template, en de gebruiker ziet alleen het resultaat.

Property Binding

Soms wilt u niet alleen tekst weergeven — u wilt het gedrag van een element bepalen, zoals het uitschakelen van een knop, het instellen van een afbeeldingsbron of het aanvinken van een selectievakje.

Angular maakt het mogelijk om waarden te binden aan HTML-elementeigenschappen met behulp van vierkante haken.

task-component.html

task-component.html

copy

Stel je voor dat de taak al is voltooid (task.completed = true). In dat geval willen we dat de knop uitgeschakeld is. Wanneer Angular [disabled]="task.completed" ziet, neemt het de waarde uit de component en bindt deze aan de disabled-eigenschap van het DOM-element.

Als de waarde true is, wordt de knop uitgeschakeld. Als het false is, blijft de knop actief.

Dit is opnieuw eenrichtingsbinding: de data stroomt van de component naar de template, en de template past zich aan op basis van de huidige status van het task-object.

Gebeurtenisbinding

Om je app te laten reageren op gebruikersacties (zoals klikken), biedt Angular gebeurtenisbinding. Wanneer een gebruiker met een element interacteert, kun je die gebeurtenis "opvangen" en een methode in je component aanroepen.

Laten we een methode toevoegen aan de component:

task-component.ts

task-component.ts

copy

En werk de template bij:

task-component.html

task-component.html

copy

Wanneer de gebruiker op de knop klikt, detecteert Angular het (click)-event en roept de toggleComplete()-methode in de component aan. Deze methode wisselt de waarde van task.completed om. Daarna rendert Angular de template opnieuw en dankzij interpolatie ({{ task.completed ? 'Undo' : 'Complete' }}) wordt de knoptekst direct bijgewerkt.

Hier stroomt de data één kant op — van de template terug naar de component (je geeft een actie naar binnen door).

Twee-weg binding

Soms is het wenselijk dat wijzigingen in de template (zoals typen in een invoerveld) direct de component bijwerken — en dat wijzigingen in de component direct de template bijwerken. Angular maakt dit eenvoudig met twee-weg binding via [(ngModel)].

Belangrijk: Om [(ngModel)] te gebruiken, moet je de FormsModule importeren — zoals hieronder weergegeven:

task-component.ts

task-component.ts

copy

En hier is de template:

task-component.html

task-component.html

copy

Hier vindt de magie van tweerichtingsbinding plaats. Wanneer een gebruiker in het invoerveld typt, werkt Angular automatisch task.title bij in de component. En wanneer task.title verandert in de component, wordt die wijziging direct weergegeven in het invoerveld.

In tegenstelling tot andere bindingstypen houdt tweerichtingsbinding de component en de template voortdurend gesynchroniseerd.

Belangrijkste verschillen

Elk van deze bindmethoden heeft zijn eigen kenmerken en is het meest geschikt voor verschillende scenario's van gegevensinteractie binnen een applicatie.

1. Welk type databinding wordt gebruikt om de waarde van een variabele van een component in de template weer te geven?

2. Welk type databinding maakt het mogelijk om een variabele van een component bij te werken via een formulier en deze gesynchroniseerd te houden met het invoerelement in de template?

3. Welk type databinding zou je gebruiken om een knop uit te schakelen wanneer een taak is voltooid?

4. Welk type databinding maakt het mogelijk om een componentmethode aan te roepen wanneer op een knop wordt geklikt?

question mark

Welk type databinding wordt gebruikt om de waarde van een variabele van een component in de template weer te geven?

Select the correct answer

question mark

Welk type databinding maakt het mogelijk om een variabele van een component bij te werken via een formulier en deze gesynchroniseerd te houden met het invoerelement in de template?

Select the correct answer

question mark

Welk type databinding zou je gebruiken om een knop uit te schakelen wanneer een taak is voltooid?

Select the correct answer

question mark

Welk type databinding maakt het mogelijk om een componentmethode aan te roepen wanneer op een knop wordt geklikt?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain the differences between one-way and two-way data binding in Angular?

How do I decide which type of data binding to use in a specific scenario?

Can you give more examples of when to use each binding type?

Awesome!

Completion rate improved to 3.13

bookTypen van Data Binding in Angular

Veeg om het menu te tonen

Wanneer een component en zijn template met elkaar communiceren, kunnen gegevens en gebeurtenissen op verschillende manieren tussen hen worden uitgewisseld. Dit wordt gegevensbinding genoemd.

In Angular zijn er vier typen gegevensbinding, elk met een specifiek doel.

Hier volgt een overzicht van hun werking aan de hand van een eenvoudig taakcomponent als voorbeeld:

task-component.ts

task-component.ts

copy

Hier wordt een taakobject aangemaakt met drie eigenschappen: id, title en completed. Deze eigenschappen beschrijven een specifieke taak—de naam en of deze is voltooid.

Interpolatie

Bijvoorbeeld, als u een variabele zoals task.title heeft, kunt u deze tussen {{ }} plaatsen en Angular zal de waarde ervan in de HTML weergeven.

task-component.html

task-component.html

copy

Wanneer Angular de template verwerkt, vindt het de expressie {{ task.title }} en vervangt deze door de huidige waarde van task.title uit de component.

Als de waarde 'Buy groceries' is, verschijnt dit exact binnen de <h3>-tag. Hetzelfde proces geldt voor alle andere waarden die u interpoleert.

Dus, interpolatie is eenrichtingsverkeer: gegevens stromen van de component naar de template, en de gebruiker ziet alleen het resultaat.

Property Binding

Soms wilt u niet alleen tekst weergeven — u wilt het gedrag van een element bepalen, zoals het uitschakelen van een knop, het instellen van een afbeeldingsbron of het aanvinken van een selectievakje.

Angular maakt het mogelijk om waarden te binden aan HTML-elementeigenschappen met behulp van vierkante haken.

task-component.html

task-component.html

copy

Stel je voor dat de taak al is voltooid (task.completed = true). In dat geval willen we dat de knop uitgeschakeld is. Wanneer Angular [disabled]="task.completed" ziet, neemt het de waarde uit de component en bindt deze aan de disabled-eigenschap van het DOM-element.

Als de waarde true is, wordt de knop uitgeschakeld. Als het false is, blijft de knop actief.

Dit is opnieuw eenrichtingsbinding: de data stroomt van de component naar de template, en de template past zich aan op basis van de huidige status van het task-object.

Gebeurtenisbinding

Om je app te laten reageren op gebruikersacties (zoals klikken), biedt Angular gebeurtenisbinding. Wanneer een gebruiker met een element interacteert, kun je die gebeurtenis "opvangen" en een methode in je component aanroepen.

Laten we een methode toevoegen aan de component:

task-component.ts

task-component.ts

copy

En werk de template bij:

task-component.html

task-component.html

copy

Wanneer de gebruiker op de knop klikt, detecteert Angular het (click)-event en roept de toggleComplete()-methode in de component aan. Deze methode wisselt de waarde van task.completed om. Daarna rendert Angular de template opnieuw en dankzij interpolatie ({{ task.completed ? 'Undo' : 'Complete' }}) wordt de knoptekst direct bijgewerkt.

Hier stroomt de data één kant op — van de template terug naar de component (je geeft een actie naar binnen door).

Twee-weg binding

Soms is het wenselijk dat wijzigingen in de template (zoals typen in een invoerveld) direct de component bijwerken — en dat wijzigingen in de component direct de template bijwerken. Angular maakt dit eenvoudig met twee-weg binding via [(ngModel)].

Belangrijk: Om [(ngModel)] te gebruiken, moet je de FormsModule importeren — zoals hieronder weergegeven:

task-component.ts

task-component.ts

copy

En hier is de template:

task-component.html

task-component.html

copy

Hier vindt de magie van tweerichtingsbinding plaats. Wanneer een gebruiker in het invoerveld typt, werkt Angular automatisch task.title bij in de component. En wanneer task.title verandert in de component, wordt die wijziging direct weergegeven in het invoerveld.

In tegenstelling tot andere bindingstypen houdt tweerichtingsbinding de component en de template voortdurend gesynchroniseerd.

Belangrijkste verschillen

Elk van deze bindmethoden heeft zijn eigen kenmerken en is het meest geschikt voor verschillende scenario's van gegevensinteractie binnen een applicatie.

1. Welk type databinding wordt gebruikt om de waarde van een variabele van een component in de template weer te geven?

2. Welk type databinding maakt het mogelijk om een variabele van een component bij te werken via een formulier en deze gesynchroniseerd te houden met het invoerelement in de template?

3. Welk type databinding zou je gebruiken om een knop uit te schakelen wanneer een taak is voltooid?

4. Welk type databinding maakt het mogelijk om een componentmethode aan te roepen wanneer op een knop wordt geklikt?

question mark

Welk type databinding wordt gebruikt om de waarde van een variabele van een component in de template weer te geven?

Select the correct answer

question mark

Welk type databinding maakt het mogelijk om een variabele van een component bij te werken via een formulier en deze gesynchroniseerd te houden met het invoerelement in de template?

Select the correct answer

question mark

Welk type databinding zou je gebruiken om een knop uit te schakelen wanneer een taak is voltooid?

Select the correct answer

question mark

Welk type databinding maakt het mogelijk om een componentmethode aan te roepen wanneer op een knop wordt geklikt?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
some-alt