Lidhja e Dyanshme e Ngjarjeve në Angular
Gjithashtu në Angular mund të bëhet lidhje e dyanshme e ngjarjeve të të dy komponentëve: prind dhe fëmijë. Le të bëjmë në shabllonin HTML të fëmijës një input me lidhje të dyanshme të emrit të përdoruesit dhe funksionin që ndryshon emrin:
<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />
Le të kalojmë në komponentin tonë fëmijë dhe
të importojmë në të dekoratorin @Input.
Ai nevojitet për të punuar me inputet:
import { Component, Input, Output, EventEmitter } from '@angular/core';
Pastaj lidhim dekoratorin @Input
me emrin e përdoruesit. Kurse dekoratorin @Output
e lidhim me objektin userNameChange,
i cili do të thirret në funksionin onNameChange:
export class UserComponent {
@Input() userName: string = '';
@Output() userNameChange = new EventEmitter<string>();
onNameChange(model: string) {
this.userName = model;
this.userNameChange.emit(model);
}
}
Tani le të kalojmë në komponentin kryesor dhe të shtojmë në klasën e tij vetinë emër:
export class AppComponent {
name: string = 'alex';
}
Kurse në shabllonin HTML të komponentit prind
kryejmë lidhjen e dyanshme të vetisë
userName me vlerën e vetisë
name të komponentit prind:
<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Implementoni lidhjen e dyanshme të ngjarjeve të komponentit prind dhe atij fëmijë sipas shembullit të dhënë në mësim.
Në bazë të detyrës së mëparshme bëni lidhjen e dyanshme të moshës së përdoruesit.