⊗jsagPmCMEDB 68 of 97 menu

Liaison d'événements bidirectionnelle dans Angular

Dans Angular, il est également possible de créer une liaison bidirectionnelle d'événements des deux composants : parent et enfant. Créons dans le modèle HTML enfant une entrée avec une liaison bidirectionnelle du nom d'utilisateur et une fonction modifiant le nom :

<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />

Passons à notre composant enfant et importons-y le décorateur @Input. Il est nécessaire pour travailler avec les entrées :

import { Component, Input, Output, EventEmitter } from '@angular/core';

Ensuite, lions le décorateur @Input au nom d'utilisateur. Et le décorateur @Output est lié à l'objet userNameChange, qui sera appelé dans la fonction onNameChange :

export class UserComponent { @Input() userName: string = ''; @Output() userNameChange = new EventEmitter<string>(); onNameChange(model: string) { this.userName = model; this.userNameChange.emit(model); } }

Maintenant, passons au composant principal et ajoutons à sa classe la propriété nom :

export class AppComponent { name: string = 'alex'; }

Et dans le modèle HTML du composant parent, effectuons la liaison bidirectionnelle de la propriété userName avec la valeur de la propriété name du composant parent :

<user-data [(userName)]="name"></user-data> <p>You choose name: {{ name }}</p>

Implémentez la liaison bidirectionnelle d'événements des composants parent et enfant selon l'exemple donné dans la leçon.

Sur la base de la tâche précédente, réalisez une liaison bidirectionnelle de l'âge de l'utilisateur.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser