Angularda hodisalarning ikki tomonlama bog‘lanishi

Angularda ikkala komponentning hodisalarini ikki tomonlama bog‘lash mumkin: ota va bola. Keling, bolaning HTML-shablonida foydalanuvchi nomi va nomni o‘zgartiradigan funksiya bilan ikki tomonlama bog‘langan input yarataylik:

app/user/user.component.html<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />

Endi bola komponentimizga o‘tamiz va unga @Input dekoratorini import qilamiz. U inputlar bilan ishlash uchun kerak:

app/user/user.component.tsimport { Component, Input, Output, EventEmitter } from '@angular/core';

Keyin @Input dekoratorini foydalanuvchi nomiga bog‘laymiz. @Output dekoratorini esa userNameChange ob'ektiga bog‘laymiz, u onNameChange funksiyasida chaqiriladi:

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

Endi asosiy komponentga o‘tamiz va uning klassiga name xususiyatini qo‘shamiz:

app/app.component.tsexport class AppComponent {
  name: string = 'alex';
}

Ota komponentning HTML-shablonida userName xususiyatini ikki tomonlama ota komponentning name xususiyati qiymati bilan bog‘laymiz:

ap.component.html<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Задание 1

Darsdagi misolga asosan ota va bola komponentlari hodisalarining ikki tomonlama bog‘lanishini amalga oshiring.

Задание 2

Oldingi vazifa asosida foydalanuvchi yoshining ikki tomonlama bog‘lanishini amalga oshiring.