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:
<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />
Endi bola komponentimizga o‘tamiz va
unga @Input dekoratorini import qilamiz.
U inputlar bilan ishlash uchun kerak:
import { 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:
export 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:
export class AppComponent {
name: string = 'alex';
}
Ota komponentning HTML-shablonida
userName xususiyatini ikki tomonlama
ota komponentning name xususiyati
qiymati bilan bog‘laymiz:
<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Darsdagi misolga asosan ota va bola komponentlari hodisalarining ikki tomonlama bog‘lanishini amalga oshiring.
Oldingi vazifa asosida foydalanuvchi yoshining ikki tomonlama bog‘lanishini amalga oshiring.