RxJs Component Communication

Gizem Cifgüvercin
2 min readMay 8, 2020

--

Merhaba,

Bu yazımda Angular’da componentler arası iletişim konusuna değineceğim.

RxJS Kütüphanesi

RxJS reaktif programlama için bir kütüphanedir.

Reaktif programlama, veri akışları ve değişimin yayılması ile ilgili asenkron bir programlama paradigmasıdır.

Aşağıdaki diagram ile nasıl ilerleyeceğimize bakalım.

1- İletişim Servisi

ng g service /Service/observable

Yukarıdaki angular cli komutu ile servisimizi oluşturalım.

import { Subject, Observable } from ‘rxjs’;

Servisimize kullanacağımız modülü yukarıdaki şekilde import edelim.

Observable, oluşturulan veri akışı

Subject, dinlenilen obje

Alıcı component'in ts dosyası içinde getProducts metoduna subscribe olup ilgili datayı alabileceğiz.sendProduct() metodu ile  herhangi bir bileşenden data gönderebileceğiz.

2- Alıcı Component

ng g c card ile card componentimizi oluşturalım.

card.component.ts

Burada getProduct() metoduna subscribe olduğumuzda; her button click işleminde sendProduct(product) metodu ile eklenen datayı dinleyip cards listesine ekliyoruz.

card.component.html

3- Gönderici Component

app.component.ts

Burada Sepete Ekle butonuna tıkladığımızda bir selectedProduct objesi sendProduct(product) metoduna verilecek. sendProduct fonksiyonu içerisinde bulunan next() fonksiyonu, kendisine abone olan fonksiyon için product nesnesini sunacak.

app.component.html

Sonuç olarak card component’i app.component’inden data alıp ekrana basmış oldu.

İyi Çalışmalar :)

--

--

No responses yet