ორმხრივი მოვლენების შეკვრა Angular-ში
Angular-ში ასევე შესაძლებელია ორივე კომპონენტის მოვლენების ორმხრივი შეკვრა: მშობელი და შვილობილი. მოდით, შ�ილობილ HTML თემფლეიტში შევქმნათ ინფუთი მომხმარებლის სახელის ორმხრივი შეკვრით და ფუნქციით, რომელიც ცვლის სახელს:
<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />
გადავიდეთ ჩვენს შვილობილ კომპონენტში და
იმპორტი გავაკეთოთ მასში დეკორატორი @Input.
ის საჭიროა ინფუთებთან მუშაობისთვის:
import { Component, Input, Output, EventEmitter } from '@angular/core';
შემდეგ ვბამთ დეკორატორ @Input
მომხმარებლის სახელს. ხოლო დეკორატორ @Output
ვბამთ ობიექტს userNameChange,
რომელიც გაეშვება ფუნქციაში onNameChange:
export class UserComponent {
@Input() userName: string = '';
@Output() userNameChange = new EventEmitter<string>();
onNameChange(model: string) {
this.userName = model;
this.userNameChange.emit(model);
}
}
ახლა გადავიდეთ მთავარ კომპონენტში და დავამატოთ მის კლასს სახელის პროპერტი:
export class AppComponent {
name: string = 'alex';
}
ხოლო მშობელი კომპონენტის HTML თემფლეიტში
შევასრულოთ პროპერტის userName ორმხრივი შეკვრა
მშობელი კომპონენტის პროპერტი name-ის მნიშვნელობასთან:
<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
რეალიზაცია გაუკეთეთ მოვლენების ორმხრივ შეკვრას მშობელი და შვილობილი კომპონენტების გაკვეთილში მოყვანილი მაგალითის მიხედვით.
წინა დავალების საფუძველზე გააკეთეთ მომხმარებლის ასაკის ორმხრივი შეკვრა.