⊗jsagPmCMCDE 67 of 97 menu

Överföra data till förälderkomponenten i Angular

Det är möjligt att överföra data från en barnkomponent till en förälderkomponent. Detta görs genom att avge händelser med hjälp av ett specialobjekt EventEmitter och metoden emit. Barnkomponenten kommer att avge händelser och skicka med vissa data tillsammans med händelsen, medan förälderkomponenten kommer att fånga händelserna och få data från förälderkomponenten.

Låt oss prova i praktiken. För att göra detta behöver vi genomföra en rad steg. Till att börja med importerar vi dekoratören @Output och klassen EventEmitter till vår barnkomponent:

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

Nu skapar vi en egenskap onData i barnklassen, vars värde blir ett nytt objekt EventEmitter, innehållande en sträng:

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

Nu skapar vi en metod send, vars anrop kommer att avge händelsen onData till förälderkomponenten med den givna texten:

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

I barnkomponentens mall skapar vi en knapp, vid klick på vilken metoden send kommer att anropas:

<button (click)="send()"> skicka data </button>

I förälderkomponenten skapar vi en metod onData, som automatiskt kommer att anropas när motsvarande händelse avges från barnkomponenten. Data som skickas kommer att hamna i metodens parameter:

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

I förälderkomponentens mall binder vi händelsen till barnkomponentens tagg:

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

Skapa tre knappar i barnkomponenten som avger olika händelser. Fånga de avgivna händelserna i förälderkomponenten.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa