defineCustomElement() تعريف عنصر مخصص

آخر تحديث: 2026-10-22

defineCustomElement() تعريف عنصر مخصص

تغلّف defineCustomElement() مكوّن Vue ليصبح Web Component قياسياً: يمكن استهلاكه بوسم في أي إطار أو صفحة أصلية.

المجموعةدوال العرض و SSR
النوعAPI
النطاقعام
إصدار Vue3.0+
دعم SSRمدعوم

📝 الصيغة

const MyEl = defineCustomElement({ props: { msg: String }, template: "<p>{{ msg }}</p>" })
customElements.define("my-element", MyEl)

⚙️ الوسائط

optionsتعريف المكوّن (يمكن أن يتضمن مصفوفة styles لحقن الأنماط)

القيمة المُرجعة:صنف عنصر مخصص (يُسلَّم إلى customElements.define للتسجيل)

▶ مثال

عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:

المخرجات:

Renders 'from a custom element'.

💡 نقاط مهمة

ℹ️ ملاحظة مفيدة عند إعادة استخدام المكوّنات عبر حزم التقنيات: نظام التصميم يمكنه خدمة Vue/React/الصفحات الأصلية معاً.
💡 نصيحة خيار styles يحقن الأنماط في shadow DOM، فيعطي تغليفاً أقوى.
⚠️ تحذير العناصر المخصصة تستخدم بروتوكول الأحداث والخصائص الأصلي في المتصفح: يجب التصريح عن props صراحة لتتمكن من ضبطها على العنصر.
المزيد من الحالات قريباً.

📚 دروس ذات صلة

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

س متى تحتاجها؟
ج عند الحاجة لإعادة استخدام المكوّنات خارج Vue، أو توفير Web Components وفق مواصفات المنصة.
س هل تلوّث الأنماط الصفحة؟
ج استخدام shadow DOM (خيار styles) يعزلها؛ وإلا تسري الأنماط عالمياً.
س هل تُستخدم داخل Vue؟
ج نعم، لكن في الحالات الاعتيادية استخدم المكوّن مباشرة دون المرور بالعناصر المخصصة.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%