⊗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()"> send data </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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш