Angularда икки тарафлама бағланиш

Шунингдек, Angularда иккилала компонентларнинг воқеаларини икки тарафлама бағлаш мумкин: ота-она ва фарзанд. Келинг, фарзанд HTML-шаблонида фойдаланувчи номи учун икки тарафлама бағланган инпут ва уни ўзгартирадиган функция ясаймиз:

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

Энди фарзанд компонентимизга ўтиб, унга @Input декораторини импорт қиламиз. У инпутлар билан ишлаш учун керак:

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

Кейин @Input декораторини фойдаланувчи номига бағлаймиз. Ва @Output декораторини userNameChange объектига бағлаймиз, у onNameChange функциясида чақирилади:

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);
  }
}

Энди асосий компонентга ўтиб, унинг классига ном хоссасини қўшамиз:

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

Ва ота-она компонентининг HTML-шаблонида userName хоссасини ота-она компонентининг name хоссаси қиймати билан икки тарафлама бағлаймиз:

ap.component.html<user-data [(userName)]="name"></user-data>
<p>Сиз танлаган ном: {{ name }}</p>
Задание 1

Дарсда келтирилган мисолга асосан ота-она ва фарзанд компонентлари воқеаларининг икки тарафлама бағланишини амалга оширинг.

Задание 2

Олдинги вазифа асосида фойдаланувчи ёши учун икки тарафлама бағланиш яратинг.