Hadisələrin Angularda Ikiistiqamətli Əlaqələndirilməsi
Həmçinin Angularda hər iki komponentin - ata və uşaq komponentlərinin hadisələrinin ikiistiqamətli əlaqələndirilməsini etmək olar. Gəlin uşaq HTML şablonunda istifadəçi adı üçün ikiistiqamətli əlaqəsi olan bir input və adı dəyişən funksiya yaradaq:
<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />
İndi uşaq komponentimizə keçək və ona
@Input dekoratorunu import edək.
O, inputlarla işləmək üçün lazımdır:
import { Component, Input, Output, EventEmitter } from '@angular/core';
Sonra, @Input dekoratorunu
istifadəçi adı ilə əlaqələndiririk.
@Output dekoratorunu isə
onNameChange funksiyasında
çağırılacaq userNameChange
obyekti ilə əlaqələndiririk:
export class UserComponent {
@Input() userName: string = '';
@Output() userNameChange = new EventEmitter<string>();
onNameChange(model: string) {
this.userName = model;
this.userNameChange.emit(model);
}
}
İndi əsas komponentə keçib onun sinfinə ad xassəsi əlavə edək:
export class AppComponent {
name: string = 'alex';
}
Və ata komponentin HTML şablonunda
userName xassəsini, ata komponentin
name xassəsinin qiyməti ilə
ikiistiqamətli əlaqələndirək:
<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Dərsdə göstərilən nümunə əsasında ata və uşaq komponentlərinin hadisələrinin ikiistiqamətli əlaqələndirilməsini həyata keçirin.
Əvvəlki məsələ əsasında istifadəçinin yaşı üçün ikiistiqamətli əlaqə yaradın.