⊗jsagPmCMCDE 67 of 97 menu

Overføring av data til foreldrekomponenten i Angular

Det er mulig å overføre data fra en barnekomponent til en foreldrekomponent. Dette gjøres ved å emittere hendelser ved hjelp av et spesielt objekt EventEmitter og metoden emit. Barnekomponenten vil emittere hendelser og sende med noen data, mens foreldrekomponenten vil fange hendelsene og motta dataene fra barnekomponenten.

La oss prøve dette i praksis. For å gjøre dette må vi gjennomføre en rekke steg. Først må vi i barnekomponenten vår importere dekoratøren @Output og klassen EventEmitter:

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

La oss nå lage en egenskap onData i barneklassen, hvis verdi blir et nytt objekt EventEmitter, som inneholder en streng:

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

La oss nå lage en metode send, hvor kall til denne vil emittere en hendelse onData til foreldrekomponenten med den angitte teksten:

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

I malen for barnekomponenten lager vi en knapp, hvor et klikk på den vil kalle metoden send:

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

I foreldrekomponenten lager vi en metode onData, som automatisk vil blir kalt når den tilsvarende hendelsen blir emittert fra barnekomponenten. Dataene som sendes vil bli plassert i metodens parameter:

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

I malen for foreldrekomponenten binder vi hendelsen til barnekomponentens tagg:

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

I barnekomponenten lag tre knapper som emitterer forskjellige hendelser. Fång de emitterte hendelsene i foreldrekomponenten.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis