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 | Components and Templates
Introductie tot Angular

bookTypen van Data Binding in Angular

Wanneer een component en zijn template met elkaar communiceren, kun je op verschillende manieren data en events tussen hen uitwisselen. Dit wordt data binding genoemd.

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

Laten we bekijken hoe ze werken aan de hand van een eenvoudig taakcomponent als voorbeeld:

task-component.ts

task-component.ts

copy

Hier maken we een taakobject aan 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 precies dat binnen de <h3>-tag. Hetzelfde proces geldt voor alle andere waarden die je interpoleert.

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

Property Binding

Soms wil je niet alleen tekst tonen — je 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 koppelen aan HTML-elementeigenschappen met behulp van vierkante haken.

task-component.html

task-component.html

copy

Stel je voor dat de taak al voltooid is (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 dat evenement "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 wilt u 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 u 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, geeft Angular die wijziging direct weer in het invoerveld.

In tegenstelling tot andere vormen van binding, 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 stelt u in staat 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 u 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 stelt u in staat 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 u 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.

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, kun je op verschillende manieren data en events tussen hen uitwisselen. Dit wordt data binding genoemd.

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

Laten we bekijken hoe ze werken aan de hand van een eenvoudig taakcomponent als voorbeeld:

task-component.ts

task-component.ts

copy

Hier maken we een taakobject aan 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 precies dat binnen de <h3>-tag. Hetzelfde proces geldt voor alle andere waarden die je interpoleert.

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

Property Binding

Soms wil je niet alleen tekst tonen — je 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 koppelen aan HTML-elementeigenschappen met behulp van vierkante haken.

task-component.html

task-component.html

copy

Stel je voor dat de taak al voltooid is (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 dat evenement "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 wilt u 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 u 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, geeft Angular die wijziging direct weer in het invoerveld.

In tegenstelling tot andere vormen van binding, 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 stelt u in staat 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 u 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 stelt u in staat 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 u 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