Sales2 min read375 words

Vue.js : Componentler arası haberleşme

Burak Kaşıkcı

PlusClouds Author

Cloud & SaaS

Vue.js : Componentler Arası Haberleşme
Size

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.

LeadOcean

Sales team chasing the wrong leads?

1.8B+ companies — search always free

Find My Leads →

No credit card · Cancel anytime

Frequently Asked Questions

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.

Related Reading

Posts tagged with:

Account-Based Marketing Meets AI Prospecting: How to Build a Target Account List That Actually Converts
Sales

Account-Based Marketing Meets AI Prospecting: How to Build a Target Account List That Actually Converts

Most ABM programs fail because of a weak target account list, not weak messaging. This guide walks B2B revenue teams through a five-step process for building a target account list using ICP scoring, AI-powered buying committee mapping, intent data, contact enrichment, and CRM integration.

How to Automate Your Entire B2B Prospecting Workflow: From Lead Discovery to Booked Meeting
Sales

How to Automate Your Entire B2B Prospecting Workflow: From Lead Discovery to Booked Meeting

This guide walks through a complete five-stage B2B prospecting automation workflow, covering AI-powered lead discovery, decision-maker verification, buying signal detection, personalized outreach sequences, and CRM sync, showing how tools like LeadOcean and Eaglet connect each stage to move leads from first discovery to booked meeting with minimal manual effort.

AI SDRs vs. Human SDRs: How to Build a Hybrid Outreach Machine That Books More Meetings
Sales

AI SDRs vs. Human SDRs: How to Build a Hybrid Outreach Machine That Books More Meetings

AI SDRs and human SDRs each have clear strengths, and the top-performing B2B sales teams in 2026 are combining both into a structured hybrid outreach model. This article explains exactly which tasks to automate, how to design clean AI-to-human handoffs, and how to measure whether the system is working.

How to Build a Signal-Led Outbound Sequence: From Buying Signal to Booked Meeting in 5 Steps
Sales

How to Build a Signal-Led Outbound Sequence: From Buying Signal to Booked Meeting in 5 Steps

Signal-led outbound replaces generic cold email sequences by triggering personalized, multi-channel outreach the moment a prospect shows a real buying signal, such as a funding round, job change, or tech stack shift. This guide walks through a five-step workflow, from signal detection and real-time enrichment to automated follow-ups and CRM routing, that consistently books more meetings than static list outreach in 2026.

More from the blog

All posts