تطوير الواجهة الأمامية 2 دقيقة للقراءة 1,295 مشاهدات

Vue 3 Composition API: بناء مكونات وتركيبات قابلة لإعادة الاستخدام

أتقن Composition API في Vue 3 لبناء مكونات وتركيبات قابلة لإعادة الاستخدام. تعلّم عن التفاعلية وخطافات دورة الحياة.

Vue.js development

واجهة التركيب في Vue 3 (Composition API)

ابنِ مكوّنات Vue قابلة لإعادة الاستخدام والصيانة باستخدام واجهة التركيب.

الإعداد الأساسي

<script setup>
import { ref, reactive, computed, onMounted } from 'vue';

// Reactive state
const count = ref(0);
const user = reactive({ name: '', email: '' });

// Computed property
const doubleCount = computed(() => count.value * 2);

// Methods
const increment = () => count.value++;

// Lifecycle
onMounted(() => {
    console.log('Component mounted');
});
</script>

<template>
    <button @click="increment">Count: {{ count }}</button>
    <p>Double: {{ doubleCount }}</p>
</template>

إنشاء العناصر القابلة للتركيب (Composables)

// composables/useFetch.js
import { ref, watchEffect } from 'vue';

export function useFetch(url) {
    const data = ref(null);
    const error = ref(null);
    const loading = ref(true);

    watchEffect(async () => {
        loading.value = true;
        try {
            const response = await fetch(url.value);
            data.value = await response.json();
        } catch (e) {
            error.value = e;
        } finally {
            loading.value = false;
        }
    });

    return { data, error, loading };
}

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

<script setup>
import { ref } from 'vue';
import { useFetch } from '@/composables/useFetch';

const url = ref('/api/users');
const { data: users, loading, error } = useFetch(url);
</script>

<template>
    <div v-if="loading">Loading...</div>
    <div v-else-if="error">Error: {{ error.message }}</div>
    <ul v-else>
        <li v-for="user in users" :key="user.id">{{ user.name }}</li>
    </ul>
</template>

تتيح العناصر القابلة للتركيب فصلاً نظيفاً للاهتمامات وإعادة استخدام الشيفرة عبر المكوّنات.

مشاركة هذه المقالة:
ES
كتبه

Edrees Salih

مهندس برمجيات متكامل يتمتع بخبرة 9 سنوات. شغوف ببناء حلول قابلة للتطوير ومشاركة المعرفة مع مجتمع المطورين.

عرض الملف الشخصي

التعليقات (0)

اترك تعليقًا

لن يتم نشر بريدك الإلكتروني.

لا توجد تعليقات بعد. كن أول من يشارك أفكاره!

مقالات ذات صلة

مقالات ذات صلة

هل تحتاج مساعدة في مشروعك؟

احجز استشارة مجانية لمدة 30 دقيقة لمناقشة تحدياتك التقنية واستكشاف الحلول معًا.