Sales2 min read490 words

Vue.js: Communicatie tussen componenten

Burak Kaşıkcı

PlusClouds Author

Cloud & SaaS

Vue.js: Communicatie Tussen Componenten

Wanneer we een applicatie ontwikkelen met Vue.js, splitsen we alle onderdelen in aparte componenten en bouwen we hierop voort. Dit biedt ons niet alleen een georganiseerde structuur, maar voorkomt ook dat we dezelfde code herhaaldelijk schrijven of op tientallen plaatsen dezelfde wijzigingen moeten aanbrengen.

Dit is natuurlijk niet alleen specifiek voor Vue.js of iets dat hier wordt voorgesteld, en er is een algemeen softwareprincipe dat bekendstaat als DRY (Don’t Repeat Yourself) dat hiermee verband houdt. Dit principe is een van de fundamenten van softwareontwikkeling en pleit ervoor om code-repetities te vermijden. (In het boek The Pragmatic Programmer wordt dit als DRY aangeduid en uitgebreid uitgelegd.)

Wij volgen ook dit principe en de logica door componenten te creëren in onze projecten, waarin we dynamische gegevens hebben en deze moeten overdragen van de hoofdcomponent naar subcomponenten (van ouder naar kind), van subcomponenten naar de hoofdcomponent (van kind naar ouder) en tussen subcomponenten (van kind naar kind). Laten we kijken hoe we deze gegevensoverdracht kunnen uitvoeren.

Communicatie tussen Parent - Child met :props


Bij het overdragen van gegevens van de oudercomponent naar de kindcomponent gebruiken we de props-structuur. Met props kunnen we de gegevens die we verzenden als een waarde gebruiken, net zoals we dat in de data van de kindcomponent hebben gedefinieerd.

Ouder Component

 
//Hier wijzen we een statische waarde toe aan de titel.


//Hier sturen we de waarde van de titel die we in de kindcomponent hebben gedefinieerd door naar de waarde Title die we in de oudercomponent hebben gedefinieerd.


Dit kunnen we als volgt gebruiken.

Kind Component


Communicatie tussen Child - Parent met $emit


We hebben gegevens van de ouder naar de kindcomponent overgedragen met props, en nu moeten we de inverse uitvoeren en de gegevens naar boven versturen. Hiervoor gebruiken we de emit-structuur. Een korte voorbeeld zou zijn: this.$emit("result", item).

Als we het bovenstaande voorbeeld voortzetten, zouden we het volgende resultaat hebben;

Kind Component


Om deze emit-taken in de oudercomponent op te vangen, gebruiken we @emitNaam of v-on:emitNaam.

Ouder Component


Communicatie tussen Child - Child met event-bus


Aangezien we hier geen directe relatie hebben zoals tussen parent en child, moeten we een tussenpersoon gebruiken en we maken gebruik van een eventbus-object. We creëren dit object als een Vue-object dat niet aan een DOM-element is gebonden en we gebruiken dit alleen voor het verzenden van gegevens. Alle componenten kunnen hier evenementen naartoe versturen en alle componenten die deze volgen, kunnen acties ondernemen op basis van de ontvangen gegevens.

Eerst voegen we in het event-bus.js-bestand het eventBus-object toe zoals we hebben aangegeven.

Vervolgens is het voldoende om dit te importeren in de pagina's waar we het willen gebruiken. Omdat we dit alleen tussen twee componenten gebruiken, hebben we het niet globaal gedefinieerd.

In ons huidige voorbeeld gaan we de titel in component A bijwerken door op de knop in component B te drukken.

Kind A Component

Kind B Component

Met deze drie bovenstaande methoden kunnen we gegevensoverdracht tussen componenten uitvoeren.

Veelgestelde Vragen

Hoe werkt dataoverdracht van ouder naar kind in Vue.js met props?

Data wordt van de ouder naar het kind gestuurd met props. De ouder geeft een waarde mee als prop, en de kindcomponent kan die waarde gebruiken als onderdeel van zijn eigen data, waarbij de waarde statisch kan zijn of dynamisch via binding.

Wat is het verschil tussen statische en dynamische props in een ouder-naar-kind communicatie en hoe ziet dat eruit in code?

Een statische prop krijgt een vaste waarde, terwijl een dynamische prop wordt gebonden aan een data-eigenschap uit de ouder, bijvoorbeeld item.Title. De dynamische prop wordt doorgegeven via binding zodat de titel mee verandert als de data wijzigt.

Hoe kun je vanuit een kindcomponent data terugsturen naar de oudercomponent met $emit?

Om data terug te sturen gebruik je this.$emit met een eventnaam en payload, bijvoorbeeld this.$emit('result', item). De ouder luistert naar dat event zodat hij de ontvangen payload kan verwerken.

Hoe vang je het emit-event op in de oudercomponent in Vue.js?

Je plaatst een event listener op de kindcomponent, bijvoorbeeld via een binding zoals @result of v-on:result, en koppelt dit aan een handler die de payload afhandelt.

Wat is een event-bus en hoe helpt het bij communicatie tussen sibling componenten in Vue.js?

Een event-bus is een Vue-object dat niet aan een DOM-element is gebonden. Alle componenten kunnen evenementen naar de bus sturen en daarop reageren, waardoor zustercomponenten met elkaar kunnen communiceren.

Waarom is DRY belangrijk voor componentcommunicatie in Vue.js?

DRY staat voor Don't Repeat Yourself en helpt herhaling te voorkomen door logica tussen componenten te delen. Door duidelijke dataoverdracht en gebeurtenissen blijft de code onderhoudbaar en consistent.

Welke drie methoden voor communicatie tussen Vue-componenten worden in dit voorbeeld genoemd?

De drie methoden zijn ouder naar kind via props, kind naar ouder via $emit, en communicatie tussen zustercomponenten via een event-bus.

Gerelateerde Lectuur

Berichten getagd met:

WhatsApp Automatisering: De Nieuwe Manier om Leads naar Verkoop te Converteren
Sales

WhatsApp Automatisering: De Nieuwe Manier om Leads naar Verkoop te Converteren

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.

Affiliate Inkomen met WhatsApp in 2026
Sales

Affiliate Inkomen met WhatsApp in 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.

Affiliate Inkomen Genereren uit Instagram en TikTok in 2026
Sales

Affiliate Inkomen Genereren uit Instagram en TikTok in 2026

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.

Affiliate Inkomen uit YouTube in 2026
Sales

Affiliate Inkomen uit YouTube in 2026

YouTube artık sadece video izlenen bir platform değil. 2026 itibarıyla YouTube, dünyanın en büyük ikinci arama motoru olmasının yanında; bireysel içerik üreticiler, bağımsız yayıncılar ve affiliate odaklı dijital girişimciler için tam teşekküllü bir gelir ekosistemi hâline geldi. Ancak burada da eski dönem kapandı. “Canım ne isterse onu çekerim” dönemi bitti. Peki YouTube’dan Affiliate gelir nasıl üretilir? Bugün YouTube’dan gerçekten para kazanan kanallar, kendini yalnızca içerik üreticisi olarak değil; affiliate odaklı dijital yayıncı olarak konumlandırıyor. Bu yazıda, YouTube’u bir hobi olmaktan çıkarıp SEO + affiliate gelir makinesi hâline nasıl getirebileceğinizi adım adım ele alıyoruz.