⊗jsagPmCMCDE 67 of 97 menu

Пренос података у родитељску компоненту у Angular

Могуће је преносити податке из детет компоненте у родитељску. То се обавља емитовањем догађаја користећи специјални објекат EventEmitter и метод emit. Детет компонента ће емитовати догађаје, шаљући заједно са догађајем неке податке, а родитељска компонента ће хватати догађаје, примајући податке из детет компоненте.

Хајде да испробамо у пракси. За ово нам треба да одрадимо низ корака. За почетак у нашу детет компоненту увезимо декоратор @Output и класу EventEmitter:

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

Сада у детет класи направимо својство onData, чија ће вредност бити нови објекат EventEmitter, који садржи стринг:

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

Сада направимо метод send, чији позив ће емитовати догађај onData у родитељску компоненту са задатим текстом:

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

У темплејту детет компоненте направимо дугме, по клику на које ће се позивати метод send:

<button (click)="send()"> пошаљи податке </button>

У родитељској компоненти направимо метод onData, који ће се аутоматски позивати, када из детет компоненте буде емитован одговарајући догађај. У параметар методе ће упадати прослеђени подаци:

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

У темплејту родитељске компоненте вежимо за таг детет компоненте догађај:

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

У детет компоненти направите три дугмета, која емитују различите догађаје. Ухватите емитоване догађаје у родитељској компоненти.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј