ორმხრივი მოვლენების შეკვრა 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>You choose name: {{ name }}</p>
Задание 1

რეალიზაცია გაუკეთეთ მოვლენების ორმხრივ შეკვრას მშობელი და შვილობილი კომპონენტების გაკვეთილში მოყვანილი მაგალითის მიხედვით.

Задание 2

წინა დავალების საფუძველზე გააკეთეთ მომხმარებლის ასაკის ორმხრივი შეკვრა.