Diskuze: Angular 7 komunikace mezi komponentami.
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Jedním z řešení je komunikace skrze společnou service: https://jasonwatmore.com/…able-subject
Ahoj, tohle bych si tak úplně přes service neřešil. Lepší by byla jednoduchá implementace observable-observer pomocí třídy EventEmitter. Uvedu na příkladu:
Mějme tedy dvě komponenty A, B. Komponenta A obsahuje komponentu B. Chceme tedy, abychom mohli nějak informovat komponentu A z komponenty B, aby provedla nějakou akci.
V komponentě B tedy vytvoříme na to EventEmitter, třeba typovaný na void:
export class BComponent {
@Output() emitter: = new EventEmitter<void>();
....
}
kdykoliv budeš chtít vyvolat změnu, zavoláš nad
emitterem metodu emit().
To bychom měli generování události, teď ještě ukážu, jak se na to dá
reagovat.
V HTML kódu komponenty A, kde používáš komponentu B jednoduše přidáš "handler" toho emitteru:
<app-b (emitter)="emitterHandler($event)" />
No a nakonec v TS souboru komponenty A přidáš metodu emitterHandler($event), která se postará o reakci. Tedy v tvém případě refreshseznamu chyb.
ahoj, můžeš mi prosím ještě ukázat, jak v BComponent nastavím tu proměnou emitter? Děkuji
Prostě vytvoříš její instancí jak jsem ukázal v předchozím příspěvku...
Zobrazeno 5 zpráv z 5.