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:

app/user/user.component.html<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:

app/user/user.component.tsimport { 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:

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);
  }
}

Tani le të kalojmë në komponentin kryesor dhe të shtojmë në klasën e tij vetinë emër:

app/app.component.tsexport 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:

ap.component.html<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Задание 1

Implementoni lidhjen e dyanshme të ngjarjeve të komponentit prind dhe atij fëmijë sipas shembullit të dhënë në mësim.

Задание 2

Në bazë të detyrës së mëparshme bëni lidhjen e dyanshme të moshës së përdoruesit.