Sales2 min read375 words

Vue.js : Componentler arası haberleşme

Burak Kaşıkcı

PlusClouds Author

Cloud & SaaS

Vue.js : Componentler Arası Haberleşme

Vue.js ile bir uygulama geliştirirken, tüm parçaları ayrı bir component olarak ayırıyor, bunun üzerine bir yapı kuruyoruz. Bu bize hem daha düzenli bir yapı sunarken, hem de tekrar tekrar aynı kodu yazmamızı veya bir değişiklikte onlarca yerde aynı düzenlemeyi yapmamızı engelliyor.

Bu tabiki sadece Vue.js'e özel veya burada önerilen birşey değil ve bu konu ile ilgili olarak DRY (Don't Repeat Yourself) ismi verilen genel bir yazılım prensibi var. Bu prensip yazılımın en temel prensiplerinden biridir ve kod tekrarlarından sakınılması gerektiğini savunur. (The Pragmatic Programmer kitabında DRY olarak isimlendirilmiş ve genişçe açıklanmıştır.)

Bizde bu prensibe ve mantığa uyarak componentler oluşturarak ayağa kaldırdığımız projelerimizde, dinamik verilere sahibiz ve bunları ana componentten alt componentlere (parent to child), alt componentten ana componente (child to parent) ve alt seviyedeki componentler arası (child to child) taşımamız gerekiyor. Bu data taşıma işlemlerini nasıl yapacağımıza bakalım.

Parent - Child arası iletişim için :props


Parent component'ten child component'e veriyi aktarırken props yapısını kullanıyoruz. Props ile gönderdiğimiz veriyi child component'te, data içerisinde tanımladığımız bir değer gibi kullanabiliyoruz.

Parent Component

 
//Burada title değerine statik bir değer atıyoruz.

<child-component :title="item.Title />
//Burada child component içerisinde tanımladığımız title değerine, parent component'teki item içerisinde tanımladığımız Title değerini gönderiyoruz.


Karşılarken ise şu şekilde kullanabiliriz.

Child Component
<div class=" editor-image="" is-normal"="">


Child - Parent arası iletişim için $emit


Parent'ten child'a props ile datayı aktarmıştık, burada da tam tersi bir işlem yapmamız gerekiyor ve veriyi yukarı doğru fırlatmamız gerekiyor. Bunun için de emit yapısını kullanıyoruz. Kısa bir örnek vermek gerekir ise this.$emit("result", item) şeklinde kullanabiliriz.

Yukarıdaki örnekten devam edersek şöyle bir sonucumuz olacak;

Child Component


Parent içerisinde bu emitleri yakalamak için @emitAdı veya v-on:emitAdı olarak kullanıyoruz.

Parent Component


Child - Child arası iletişim için event-bus


Burada parent - child arasındaki ilişki gibi direk bir ilişkimiz olmadığı için bir aracı kullanmamız gerekiyor ve biz burada eventbus nesnesini kullanıyoruz. Bu nesneyi herhangi bir dom elemanına bağlanmayan bir vue nesnesi olarak oluşturuyoruz ve bu nesneyi sadece veri iletirken kullanacağız. Tüm componentler buraya event yollayabilecekler ve burayı dinleyen tüm componentler gelen dataya göre aksiyon alabilecekler.

Burada öncelikle event-bus.js içerisine belirttiğimiz şekilde bir eventBus nesnesi ekleyeceğiz.

Daha sonra bunu kullanacağımız sayfalarda import etmemiz yeterli olacak. Şimdi sadece 2 component arası kullanacağımız için global'de tanımlamadık.

Şimdiki örneğimizde A componentindeki başlığı, B componentindeki butona basarak güncelleyelim.

Child A Component

Child B Component

Bu üstteki 3 yöntem ile componentler arasındaki data aktarımlarını yapabiliyoruz.

Sıkça Sorulan Sorular

Parent'ten child'a veri aktarımı için hangi yapı kullanılır?

Prop kullanılır. Parent component'ten child component'e veriyi aktarırken props yapısını kullanıyoruz. Child component'te bu veriyi, data içinde tanımladığımız bir değer gibi kullanıyoruz. Bu yaklaşım, componentler arasında tekrarı azaltmaya yardımcı olur.

Child'dan Parent'a veri iletimi nasıl gerçekleştirilir?

Çocuk component'ten ana componente veri göndermek için $emit kullanılır. Örnekte item bu şekilde iletilir ve Parent bu emitleri ilgili ad ile yakalar. Parent tarafında bu emitler @emitAdı veya v-on:emitAdı ile yakalanır.

Child-Child iletişiminde hangi yöntem kullanılır?

Event-bus kullanılır. Bu, parent-child ilişkisi olmayan komponentler arasında iletişimi sağlar. EventBus nesnesi bir Vue nesnesi olarak oluşturulur ve ilgili sayfalarda import edilerek kullanılır.

DRY prensibi nedir ve Vue projelerinde nasıl uygulanır?

DRY, Don’t Repeat Yourself ifadesinin kısaltmasıdır ve kod tekrarlarından kaçınmayı savunur. Bu prensibi projede componentler oluşturarak ve tekrarı azaltarak uygularız.

Props ile gelen veriyi child component'te nasıl kullanırız?

Prop ile gelen veri, child component'te data içinde tanımladığımız bir değer gibi kullanılır. Böylece dışarıdan gelen değeri component içinde dinamik olarak işleyebiliriz.

Bu üç iletişim yöntemi hangi durumlarda kullanılır?

Proplar parent'tan child'a veri aktarımı için kullanılır. Emitler child'tan parent'a veri iletimi için kullanılır. Event-bus ise non-direct ilişkili veya kardeş komponentler arasındaki iletişim için kullanılır.

Bir örnekte bu yöntemlerle nasıl bir güncelleme yapılır?

Şimdiki örnekte A componentindeki başlık, B componentindeki butona basarak güncellenir. Bunun için event-bus kullanılır; eventBus nesnesi ilgili dosyada tanımlanır ve iki component arasında iletişim kurulur.

İlgili Okumalar

Etiketlenen yazılar:

LeadOcean ve PlusClouds CRM Entegrasyonu: Otomatik Pipeline Kurulumu
Sales

LeadOcean ve PlusClouds CRM Entegrasyonu: Otomatik Pipeline Kurulumu

Bu rehberde; operasyonel yükü minimuma indiren bir yöntemi, yani LeadOcean üzerinde toplanan nitelikli verileri PlusClouds CRM ekosistemine otomatik olarak aktarmanın yolunu inceleyeceğiz. "Workspace Pusher" mekanizmasını kullanarak uçtan uca dijital bir köprü kuracak ve satış süreçlerinizi nasıl tam otomatik hale getirebileceğinizi adım adım ele alacağız.

WhatsApp Otomasyonu: Lead’leri Satışa Dönüştürmenin Yeni Yolu
Sales

WhatsApp Otomasyonu: Lead’leri Satışa Dönüştürmenin Yeni Yolu

Dijital dünyada rekabet artık sadece “daha fazla lead toplamak” üzerinden ilerlemiyor. Asıl fark yaratan, elde ettiğiniz lead’lere ne kadar hızlı, doğru ve kişiselleştirilmiş şekilde ulaştığınız. Bu noktada WhatsApp, yüksek etkileşim oranlarıyla en güçlü iletişim kanallarından biri olurken; n8n gibi araçlar sayesinde bu süreci tamamen otomatik ve ölçeklenebilir hale getirmek mümkün. Bu yazıda, n8n kullanarak WhatsApp otomasyonu kurmayı, Eaglet ve Leadocean gibi platformlardan gelen lead’leri satışa dönüştürmeyi ve bu süreci nasıl optimize edebileceğinizi detaylı şekilde ele alıyoruz.

2026’da WhatsApp ile Affiliate Gelir
Sales

2026’da WhatsApp ile Affiliate Gelir

2026 itibarıyla affiliate marketing artık sadece trafik üretmekle ilgili değil. Asıl farkı yaratan şey, o trafiği doğrudan satışa dönüştürebilmek. İşte burada WhatsApp devreye giriyor. 2026’da WhatsApp ile Affiliate Gelir nasıl elde edilir? E-posta açılma oranları düşerken, WhatsApp mesajlarının okunma oranı %90’ların üzerinde. Yani doğru stratejiyle WhatsApp, affiliate gelir için en güçlü “son temas noktası” haline geliyor. Ama burada kritik fark şu: Manuel mesaj atanlar değil, otomasyon kuranlar kazanıyor.

PlusClouds Affiliate ile Pasif Gelir (2026 Rehberi)
Sales

PlusClouds Affiliate ile Pasif Gelir (2026 Rehberi)

Dijital dünyada trafik üretmek bir beceri olabilir. Ancak 2026 itibarıyla asıl mesele trafik değil, trafiği gelire dönüştürme sistemi kurmak. Affiliate marketing (satış ortaklığı) yıllardır var. Fakat artık Amazon’dan düşük komisyonlu ürün satma dönemi kapandı. Gerçek kazanç; yüksek sepet tutarlı, B2B SaaS odaklı ve sürekliliği olan sistemlerde. İşte tam bu noktada PlusClouds devreye giriyor. 2026’da PlusClouds ile pasif gelir imparatorluğu kurmak artık çok basit. PlusClouds yalnızca bir bulut bilişim sağlayıcısı değil; affiliate’ler için yüksek komisyonlu, ölçeklenebilir ve araç destekli bir gelir ekosistemi sunuyor.

Blogdan daha fazlası

Tüm gönderiler