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.

الأسئلة الشائعة

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.

قراءة ذات صلة

المنشورات الموسومة بـ:

أفضل 11 قالب بريد إلكتروني لتوليد العملاء المحتملين بين الشركات (B2B)
Sales

أفضل 11 قالب بريد إلكتروني لتوليد العملاء المحتملين بين الشركات (B2B)

يظل البريد الإلكتروني البارد واحدًا من أكثر القنوات عائدًا على الاستثمار في مبيعات B2B، ولكن فقط عندما يتم استخدامه بشكل صحيح. القالب الخاطئ، أو النبرة الخاطئة، أو التوقيت غير المناسب قد يؤدي إلى حذف رسالتك فورًا، أو إلغاء الاشتراك، أو الأسوأ من ذلك، وضعها في قائمة الرسائل المزعجة. من ناحية أخرى، يمكن أن يفتح قالب البريد الإلكتروني الصحيح لتوليد العملاء المحتملين في B2B الأبواب أمام صفقات مع مؤسسات كبرى، وشراكات استراتيجية، وخط مبيعات لا ينضب أبدًا. في هذا الدليل، نقوم بتفصيل 11 قالبًا مجربًا وفعالًا للبريد الإلكتروني لتوليد العملاء المحتملين في B2B، ونشرح سبب نجاح كل واحد منها، ونوضح لك كيف يمكن للأدوات الذكية الحديثة مثل Eaglet وLeadOcean من PlusClouds أتمتة العملية بالكامل حتى يعمل تواصلك على مدار الساعة، حتى أثناء نومك.

أتمتة WhatsApp: الطريقة الجديدة لتحويل العملاء المحتملين إلى مبيعات
Sales

أتمتة WhatsApp: الطريقة الجديدة لتحويل العملاء المحتملين إلى مبيعات

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
Sales

الدخل التابع مع واتساب في عام 2026

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.

2026’da Instagram ve TikTok’tan Affiliate Gelir Üretmek
Sales

2026’da Instagram ve TikTok’tan Affiliate Gelir Üretmek

2026’da tüketici davranışı kökten değişti. İnsanlar artık bir ürünü Google’a yazıp uzun uzun araştırmıyor. Karşılarına çıkan, sorunlarını anlayan ve onları ikna eden bir videodan tek tıkla satın alıyor. Bu yeni düzene Sosyal Ticaret (Social Commerce) diyoruz. Ve bu oyunun iki ana sahnesi var: Instagram ve TikTok. Ancak burada da eski dönem kapandı. Sadece video paylaşarak, “takipçi kasarak” para kazanma dönemi bitti. Bugün Instagram ve TikTok’ta gerçekten kazananlar, kendini influencer olarak değil; affiliate odaklı dijital yayıncı olarak konumlandıranlar. Bu yazıda, Instagram ve TikTok’u bir vitrin olmaktan çıkarıp affiliate gelir üreten satış makinelerine nasıl dönüştürebileceğinizi adım adım ele alıyoruz.

المزيد من المدونة

جميع المنشورات