المسارات المتداخلة والديناميكية
أنشئ تخطيطات متداخلة ومعلمات مسارات ديناميكية
المسارات المتداخلة والديناميكية درس مجاني في Vue Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Vue Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Vue Academy 3 دروس في المجموع.
ما بعد المسارات الثابتة
تحتاج التطبيقات الحقيقية إلى مسارات تحمل بيانات وتتداخل ضمن تخطيطات.
- تلتقط المقاطع الديناميكية قيمًا مثل id
- تعرض المسارات المتداخلة المكونات الفرعية داخل مكون أب
- تضيف المسارات المسماة والتنقل البرمجي مرونة أكبر
مقاطع المسارات الديناميكية
تعرّف النقطتان : مقطعًا ديناميكيًا يطابق أي قيمة.
const routes = [
{ path: "/user/:id", component: UserProfile }
]
// Matches /user/1, /user/42, /user/abcالوصول إلى route.params
اقرأ القيمة الملتقطة من خلال route.params.
<script setup>
import { useRoute } from "vue-router"
const route = useRoute()
console.log(route.params.id)
</script>الاستجابة لتغيّر المعاملات
عندما يتغير المعامل وحده، مثل الانتقال من /user/1 إلى /user/2، يُعاد استخدام المكون. راقب المعامل لإعادة تحميل البيانات.
import { watch } from "vue"
import { useRoute } from "vue-router"
const route = useRoute()
watch(() => route.params.id, (newId) => {
loadUser(newId)
})مقاطع ديناميكية متعددة
يمكن أن تحتوي المسارات على عدة أجزاء ديناميكية.
const routes = [
{ path: "/user/:userId/post/:postId", component: Post }
]
// route.params.userId and route.params.postIdالمسارات المتداخلة
تتيح المسارات المتداخلة عرض المسارات الفرعية داخل مكون أب.
const routes = [
{
path: "/user/:id",
component: UserLayout,
children: [
{ path: "profile", component: Profile },
{ path: "posts", component: Posts }
]
}
]router-view متداخل
يحتاج المكون الأب إلى router-view خاص به لكي تُعرض المكونات الفرعية داخله.
<!-- UserLayout.vue -->
<template>
<h1>User</h1>
<router-view></router-view>
</template>
<!-- /user/1/profile renders Profile here -->المسارات المسماة
امنح المسار اسمًا للإشارة إليه من دون كتابة المسار مباشرةً.
const routes = [
{
path: "/user/:id",
name: "user",
component: UserProfile
}
]الربط بالاسم
يمكن لـ router-link استهداف مسار مسمى وتمرير المعاملات باعتبارها كائنًا.
<router-link
:to="{ name: 'user', params: { id: 42 } }"
>
View User
</router-link>التنقل البرمجي
تنقّل من JavaScript باستخدام طريقة push في الموجّه.
import { useRouter } from "vue-router"
const router = useRouter()
function goToUser(id) {
router.push({ name: "user", params: { id } })
}طرق تنقل أخرى
يوفر الموجّه مزيدًا من الأدوات المساعدة للتنقل:
- router.push يضيف إدخالًا جديدًا إلى السجل
- router.replace يتنقل من دون إضافة إدخال جديد إلى السجل
- router.back ينتقل إلى الصفحة السابقة
تحقق سريع
اختبر مدى فهمك للمسارات الديناميكية والمتداخلة.
مراجعة: المسارات المتداخلة والديناميكية
تعلّمت التوجيه المتقدم:
- تُلتقط المقاطع الديناميكية (/user/:id) في route.params
- تُنشأ المسارات المتداخلة باستخدام children وrouter-view متداخل
- تتيح المسارات المسماة إنشاء روابط بالاسم
- يُستخدم router.push للتنقل البرمجي
التالي: حراس التنقل.
الأسئلة الشائعة
هل درس «المسارات المتداخلة والديناميكية» مجاني؟
نعم — نص درس «المسارات المتداخلة والديناميكية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Vue Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Vue Academy 3 دروس في المجموع.
ماذا ستتعلم في «المسارات المتداخلة والديناميكية»؟
أنشئ تخطيطات متداخلة ومعلمات مسارات ديناميكية تتمرن على Vue Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Vue Academy؟
لا تُشترط خبرة سابقة. Vue Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «المسارات المتداخلة والديناميكية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Vue Academy هذا؟
نعم. كل درس في Vue Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعداد Vue Router
- المسارات المتداخلة والديناميكية
- حراس التنقل