⊗jsagPmCMCDE 67 of 97 menu

Penghantaran Data ke Komponen Induk dalam Angular

Data boleh dihantar dari komponen anak ke komponen induk. Ini dilakukan dengan memancarkan peristiwa menggunakan objek khas EventEmitter dan kaedah emit. Komponen anak akan memancarkan peristiwa, menghantar bersama-sama dengan peristiwa beberapa data, manakala komponen induk akan menangkap peristiwa, memperoleh data dari komponen induk.

Mari kita cuba dalam amalan. Untuk ini kita perlu melakukan beberapa langkah. Pertama, ke dalam komponen anak kita, import decorator @Output dan kelas EventEmitter:

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

Sekarang dalam kelas anak buatkan sifat onData, yang nilainya akan menjadi objek baharu EventEmitter, mengandungi tali:

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

Sekarang buatkan kaedah send, panggilan yang akan memancarkan peristiwa onData ke komponen induk dengan teks yang ditentukan:

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

Dalam templat komponen anak, buatkan tombol, yang upon klik akan memanggil kaedah send:

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

Dalam komponen induk, buatkan kaedah onData, yang akan secara automatik dipanggil, apabila dari komponen anak peristiwa sepadan dipancarkan. Ke dalam parameter kaedah akan dimasukkan data yang dihantar:

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

Dalam templat komponen induk ikat kepada tag komponen anak peristiwa:

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

Dalam komponen anak buatkan tiga tombol, memancarkan peristiwa yang berbeza. Tangkap peristiwa yang dipancarkan dalam komponen induk.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak