⊗jsagPmCMEDB 68 of 97 menu

Obousměrná vazba událostí v Angular

V Angular lze také vytvořit obousměrnou vazbu událostí obou komponent: rodičovské a dceřiné. Pojďme vytvořit v dceřiném HTML šabloně vstup s obousměrnou vazbou jména uživatele a funkce, která mění jméno:

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

Přejděme do naší dceřiné komponenty a importujme do ní dekorátor @Input. Je potřebný pro práci s inputy :

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

Dále navážeme dekorátor @Input na jméno uživatele. A dekorátor @Output navážeme na objekt userNameChange, který bude volán ve funkci onNameChange:

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

Nyní přejděme do hlavní komponenty a přidejme k její třídě vlastnost jméno:

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

A v HTML šabloně rodičovské komponenty proveďme obousměrnou vazbu vlastnosti userName s hodnotou vlastnosti name rodičovské komponenty:

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

Realizujte obousměrnou vazbu událostí rodičovské a dceřiné komponenty podle uvedeného příkladu v lekci.

Na základě předchozího úkolu vytvořte obousměrnou vazbu věku uživatele.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout