⊗jsagPmCMCDE 67 of 97 menu

Truyền dữ liệu đến component cha trong Angular

Có thể truyền dữ liệu từ component con đến component cha. Điều này được thực hiện bằng cách phát ra sự kiện với sự trợ giúp của đối tượng đặc biệt EventEmitter và phương thức emit. Component con sẽ phát ra các sự kiện, truyền cùng với sự kiện một số dữ liệu, còn component cha sẽ bắt các sự kiện, nhận dữ liệu từ component cha.

Hãy thử thực hành. Để làm điều này chúng ta cần thực hiện một loạt các bước. Đầu tiên, trong component con của chúng ta, hãy import decorator @Output và class EventEmitter:

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

Bây giờ trong class con, hãy tạo một thuộc tính onData, giá trị của nó sẽ là một đối tượng EventEmitter mới, chứa chuỗi:

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

Bây giờ hãy tạo phương thức send, việc gọi nó sẽ phát ra sự kiện onData đến component cha với văn bản đã cho:

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

Trong template của component con, hãy tạo một nút bấm, khi nhấp vào sẽ gọi phương thức send:

<button (click)="send()"> gửi dữ liệu </button>

Trong component cha, hãy tạo phương thức onData, phương thức này sẽ tự động được gọi khi từ component con phát ra sự kiện tương ứng. Vào tham số của phương thức sẽ nhận được dữ liệu được truyền:

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

Trong template của component cha, hãy liên kết sự kiện với thẻ của component con:

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

Trong component con, hãy tạo ba nút bấm, phát ra các sự kiện khác nhau. Hãy bắt các sự kiện được phát ra trong component cha.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối