0Pricing
Vue Academy · درس

Slots وScoped Slots

أنشئ مكوّنات مرنة باستخدام Slots وScoped Slots

Slots وScoped Slots درس مجاني في Vue Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Vue Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Vue Academy 3 دروس في المجموع.

ما هي المنافذ؟

تتيح المنافذ للمكوّن الأب حقن المحتوى داخل قالب المكوّن الابن.

  • تمرّر الخصائص البيانات، بينما تمرّر المنافذ الترميز
  • وهي مفيدة جدًا لأغلفة التخطيط والبطاقات والنوافذ المنبثقة
  • يحدّد المكوّن الابن موضع المحتوى

المنفذ الافتراضي

يعرّف المكوّن الابن عنصر slot كعنصر نائب. ويملأه أي محتوى يضعه المكوّن الأب بين الوسوم.

<!-- Card.vue (child) -->
<template>
  <div class="card">
    <slot></slot>
  </div>
</template>

استخدام المنفذ الافتراضي

يمرّر المكوّن الأب المحتوى بين وسمي المكوّن.

<!-- Parent -->
<Card>
  <h2>Title</h2>
  <p>Any content goes here.</p>
</Card>

<!-- It renders inside the card div -->

المحتوى الاحتياطي للمنفذ

يمكن للمنفذ توفير محتوى احتياطي يظهر عندما لا يمرّر المكوّن الأب أي محتوى.

<!-- Button.vue -->
<template>
  <button>
    <slot>Click me</slot>
  </button>
</template>

<!-- <Button /> shows "Click me";
     <Button>Save</Button> shows "Save" -->

منافذ مسمّاة متعددة

تتيح المنافذ المسمّاة للمكوّن توفير عدة مواضع لإدراج المحتوى.

<!-- Layout.vue -->
<template>
  <header><slot name="header"></slot></header>
  <main><slot></slot></main>
  <footer><slot name="footer"></slot></footer>
</template>

ملء المنافذ المسمّاة

يستهدف المكوّن الأب منفذًا مسمّى باستخدام v-slot:name على وسم template.

<Layout>
  <template v-slot:header>
    <h1>Site Title</h1>
  </template>

  <p>Main content (default slot)</p>

  <template v-slot:footer>
    <small>Copyright 2024</small>
  </template>
</Layout>

الاختصار v-slot

يحتوي v-slot على اختصار هو الرمز #.

<Layout>
  <template #header>
    <h1>Title</h1>
  </template>

  <template #footer>
    <small>Footer</small>
  </template>
</Layout>

المنافذ ذات النطاق

تتيح المنافذ ذات النطاق للمكوّن الابن تمرير البيانات إلى محتوى المنفذ.

  • يربط المكوّن الابن البيانات بعنصر المنفذ
  • يتلقاها المكوّن الأب على شكل خصائص المنفذ
  • وهي مفيدة عندما يتحكّم المكوّن الابن في البيانات، بينما يتحكّم المكوّن الأب في المظهر

إتاحة البيانات من المكوّن الابن

يربط المكوّن الابن السمات على المنفذ لمشاركة البيانات.

<!-- UserList.vue -->
<template>
  <li v-for="user in users" :key="user.id">
    <slot :user="user"></slot>
  </li>
</template>

استهلاك بيانات المنفذ ذي النطاق

يتلقى المكوّن الأب البيانات من خلال v-slot.

<UserList>
  <template #default="slotProps">
    {{ slotProps.user.name }}
  </template>
</UserList>

<!-- or destructure: #default="{ user }" -->

متى تستخدمون كل نوع من المنافذ؟

دليل سريع:

  • المنفذ الافتراضي لإدراج المحتوى البسيط
  • المنافذ المسمّاة للمناطق المتعددة في التخطيط
  • المنافذ ذات النطاق عندما يحتاج المكوّن الأب إلى البيانات الداخلية للمكوّن الابن

اختبار سريع

اختبروا مدى فهمكم للمنافذ.

مراجعة: المنافذ

تعلّمتم توزيع المحتوى باستخدام المنافذ:

  • يُدرج المنفذ الافتراضي الترميز من المكوّن الأب
  • يظهر المحتوى الاحتياطي عند عدم تمرير أي محتوى
  • تستهدف المنافذ المسمّاة المناطق باستخدام (v-slot:name والاختصار #)
  • تمرّر المنافذ ذات النطاق بيانات المكوّن الابن إلى محتوى المنفذ

التالي: أساسيات التفاعلية.

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

هل درس «Slots وScoped Slots» مجاني؟

نعم — نص درس «Slots وScoped Slots» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Vue Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Vue Academy 3 دروس في المجموع.

ماذا ستتعلم في «Slots وScoped Slots»؟

أنشئ مكوّنات مرنة باستخدام Slots وScoped Slots تتمرن على Vue Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Vue Academy؟

لا تُشترط خبرة سابقة. Vue Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.

كم من الوقت يستغرق درس «Slots وScoped Slots»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Vue Academy هذا؟

نعم. كل درس في Vue Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء المكوّنات وتسجيلها
  2. Props والأحداث المخصّصة
  3. Slots وScoped Slots
← العودة إلى Vue Academy