Sales3 min read408 words

Vue.js : الاتصال بين المكونات

Burak Kaşıkcı

PlusClouds Author

Cloud & SaaS

Vue.js: تواصل البيانات بين المكونات

عند تطوير تطبيق باستخدام Vue.js، نقوم بفصل جميع الأجزاء كعناصر منفصلة ونبني هيكلًا يعتمد على ذلك. يوفر لنا هذا هيكلًا أكثر تنظيمًا، كما يمنعنا من إعادة كتابة نفس الشيفرة مرارًا وتكرارًا أو إجراء تعديلات في عشرات الأماكن عند إجراء تغيير ما.

بالطبع، ليس هذا خاصًا بـ Vue.js أو ما هو مقترح هنا فحسب، وهناك مبدأ عام يُعرف باسم DRY (لا تُكرر نفسك) يتعلق بهذا الموضوع. هذا المبدأ هو أحد المبادئ الأساسية في البرمجيات ويدعو إلى تجنب تكرار الشيفرة. (أطلق عليه اسم DRY في كتاب The Pragmatic Programmer وتم شرحه بشكل موسع.)

وفقًا لهذا المبدأ والفلسفة، نقوم بإنشاء عناصر في المشاريع التي نعمل عليها، ونعتمد على بيانات ديناميكية، وعلينا نقل هذه البيانات من العنصر الرئيسي إلى العناصر الفرعية (من الأب إلى الابن)، ومن العنصر الفرعي إلى العنصر الرئيسي (من الابن إلى الأب)، وبين العناصر الفرعية نفسها (من ابن إلى ابن). دعونا نلقي نظرة على كيفية إجراء هذه العمليات لنقل البيانات.

للتواصل بين الأب والابن: props


عند نقل البيانات من عنصر الأب إلى عنصر الابن، نستخدم هيكل الـ props. يمكننا استخدام البيانات التي أرسلناها باستخدام props في عنصر الابن كقيمة قمنا بتعريفها في البيانات.

عنصر الأب

 
// هنا نقوم بتعيين قيمة ثابتة للـ title.


// هنا نرسل قيمة الـ Title التي عرّفناها في عنصر الأب إلى القيمة التي عرّفناها في عنصر الابن.


يمكننا استخدامها على النحو التالي أثناء الاستقبال.

عنصر الابن


للتواصل بين الابن والأب باستخدام $emit


لقد قمنا بنقل البيانات من الأب إلى الابن عبر props، والآن نحتاج إلى إجراء عملية معاكسة وإرسال البيانات للأعلى. لهذا نستخدم هيكل emit. إذا أردنا إعطاء مثال مختصر، يمكننا استخدام this.$emit("result", item).

إذا تابعنا من المثال السابق، سنحصل على نتيجة مثل هذه؛

عنصر الابن


لالتقاط هذه الـ emits داخل الأب، نستخدم @emitAdı أو v-on:emitAdı.

عنصر الأب


للتواصل بين ابن وابن آخر باستخدام event-bus


هنا، نظرًا لعدم وجود علاقة مباشرة بين الأب والابن كما هو الحال بيناتهم، نحتاج إلى استخدام وسيط، وهنا نستخدم كائن eventbus. نقوم بإنشاء هذا الكائن ككائن Vue لا يرتبط بأي عنصر DOM، وسنستخدم هذا الكائن فقط عند نقل البيانات. يمكن لجميع العناصر إرسال أحداث هنا وجميع العناصر التي تستمع هنا ستتمكن من اتخاذ الإجراءات بناءً على البيانات الواردة.

أولاً، سنقوم بإضافة كائن eventBus كما حددنا في event-bus.js.

بعد ذلك، سيكون كافيًا استيراده في الصفحات التي سنستخدمه فيها. نظرًا لأننا سنستخدمها فقط بين عنصرين، لم نعرفها عالميًا.

في مثالنا الحالي، دعونا نحدث عنوان العنصر A من خلال الضغط على الزر الموجود في العنصر B.

عنصر الابن A

عنصر الابن B

باستخدام الطرق الثلاثة أعلاه، يمكننا إجراء نقل البيانات بين العناصر.

Sıkça Sorulan Sorular

كيف يتم نقل البيانات من عنصر الأب إلى عنصر الابن باستخدام props في Vue.js؟

نستخدم props لنقل البيانات من الأب إلى الابن. في المثال، يمكن إرسال قيمة ثابتة عبر عنوان title أو قيمة ديناميكية من الأب عبر :title="item.Title".

كيف يمكن استخدام القيمة المستلمة من props داخل عنصر الابن؟

يمكن استخدام البيانات المستلمة عبر props داخل الابن كقيمة عرفناها في بيانات الابن. بمجرد تعيينها في الأب، تصبح متاحة للاستخدام داخل مكوّن الابن.

كيف ترسل البيانات من الابن إلى الأب باستخدام $emit؟

لإرسال البيانات من الابن إلى الأب نستخدم هذا.$emit مع اسم الحدث مثل 'result' وقيمة البيانات مثل item. ثم يقوم الأب باستماع لهذا الحدث باستخدام رمز الاستماع @result أو v-on:result.

كيف يتم التقاط أحداث emit في الأب باستخدام تعليمة الاستماع؟

يتم التقاط هذه الأحداث في الأب باستخدام تعبير الاستماع مثل @emitAdı أو v-on:emitAdı. هذان النمطان يتيحان استقبال البيانات المرسلة من الابن.

ما هو دور event-bus في التواصل بين ابن وآخر غير مرتبطين مباشرة؟

يستخدم event-bus ككائن Vue غير مربوط بعنصر DOM ليكون وسيط نقل البيانات بين عناصر غير مرتبطة مباشرة. يمكن لجميع العناصر إرسال أحداث هنا والاستماع إليها لتنسيق البيانات، وتتم إضافته ككائن في ملف مستقل ثم استيراده حيث يلزم.

ما هي خطوات استخدام كائن eventBus لتبادل البيانات بين ابن وآخر؟

نبدأ بإنشاء كائن eventBus كما حُدد في ملف event-bus.js ومشاركته بين الصفحات التي تحتاجه. بعد ذلك نستورد الكائن في العنصرين المطلوبين وتستخدمه لإرسال واستماع الأحداث، مثل إرسال عنوان من الابن A وتلقيه في الابن B.

İ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.