⊗jsagPmCMCDE 67 of 97 menu

Transmetimi e të dhënave në komponentin prind në Angular

Është e mundur të transmetohen të dhëna nga komponenti fëmijë në komponentin prind. Kjo bëhet duke emetuar ngjarje me ndihmën e objektit special EventEmitter dhe metodës emit. Komponenti fëmijë do të emetojë ngjarje, duke transmetuar së bashku me ngjarjen disa të dhëna, ndërsa komponenti prind do të kapë këto ngjarje, duke marrë të dhënat nga komponenti fëmijë.

Le ta provojmë në praktikë. Për këtë na duhet të ndërmarrim një sërë hapash. Fillimisht në komponentin tonë fëmijë duhet të importojmë dekoratorin @Output dhe klasën EventEmitter:

import { Component, Output, EventEmitter } from '@angular/core';

Tani në klasën fëmijë le të krijojmë një property onData, vlera e së cilës do të jetë një objekt i ri EventEmitter, që përmban një string:

export class UserComponent { @Output() public onData = new EventEmitter<string>(); }

Tani le të krijojmë një metodë send, thirrja e së cilës do të emetojë ngjarjen onData në komponentin prind me tekstin e caktuar:

export class UserComponent { @Output() public onData = new EventEmitter<string>(); send() { this.onData.emit('xxx'); } }

Në template-in e komponentit fëmijë le të krijojmë një buton, upon click of which do të thirret metoda send:

<button (click)="send()"> dërgo të dhënat </button>

Në komponentin prind le të krijojmë një metodë onData, e cila do të thirret automatikisht kur nga komponenti fëmijë të emetohet ngjarja përkatëse. Në parametrin e metodës do të kalojnë të dhënat e transmetuara:

export class AppComponent { public onData(data: string) { console.log(data); } }

Në template-in e komponentit prind le të lidhim ngjarjen në tag-un e komponentit fëmijë:

<app-user (onData)="onData($event)"></app-user>

Në komponentin fëmijë krijoni tre butona, që emetojnë ngjarje të ndryshme. Kapni ngjarjet e emetuara në komponentin prind.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo