Vue.js هي إحدى أشهر إطارات العمل لتطوير تطبيقات الويب، والتي تمكّن المطورين من إنشاء تطبيقات واجهة المستخدم الحديثة والمتطورة بكل سهولة. Vue.js يحتوي على العديد من الميزات والمكونات القوية، منها المكونات والقوالب. في هذا المقال، سنتحدث عن مكونات Vue.js وقوالبها (components  and templates)، بما في ذلك كيفية استخدامها وتحريرها.

مكونات وقوالب Vue.js

ما هي مكونات Vue.js؟

مكونات Vue.js هي أجزاء من واجهة المستخدم تم تجميعها معًا لتشكل واجهة مستخدم كاملة. تتكون المكونات من بناء HTML وتضمينها داخل نطاق Vue.js. وتعتبر المكونات مفيدة جدًا عندما تحتاج إلى إنشاء واجهات مستخدم معقدة ولكنها قابلة للتكرار.

كيفية إنشاء مكونات Vue.js

يمكن إنشاء مكون Vue.js باستخدام الدالة Vue.component() وإعطائها اسمًا وكائنًا يحتوي على مجموعة من الخصائص التي تحدد سلوك المكون. على سبيل المثال، يمكن إنشاء مكون Vue.js بسيط يعرض نصًا عن طريق تحديد قيمة template و data كما يلي:

Vue.component('simple-component', {

template: '<div>{{ message }}</div>',

  data: function () {

    return {

      message: 'Hello, World!'

    }

  }

})

ما هي قوالب Vue.js؟

قالب Vue.js هو عبارة عن جزء من الواجهة الأمامية المكونة من HTML وتحديداً HTML المنطقي التي يمكن استخدامها لتوضيح كيف يجب عرض البيانات في المكونات Vue.js.

كيفية استخدام قوالب Vue.js

يمكن تحديد قوالب Vue.js باستخدام الخاصية template في كائن المكون. يمكن تحديد العناصر الفرعية داخل القالب باستخدام بنية HTML التقليدية، مع تضمين الرموز الخاصة بـ Vue.js لإدراج البيانات وتحديد الشروط.

على سبيل المثال، يمكن إنشاء قالب Vue.js بسيط لعرض نص بناءً على القيمة المخزنة في متغير message كما يلي:

<template>

<div>

    {{ message }}

  </div>

</template>

<script>

  export default {

    data() {

      return {

        message: 'Hello, World!'

      }

    }

  }

</script>

يمكن تضمين قوالب Vue.js داخل بعضها البعض لإنشاء واجهات مستخدم معقدة ولكنها قابلة للتحكم. يمكن أيضًا استخدام المتغيرات المعرفة في الكائن لتحديد شروط وتحكم في طريقة عرض البيانات.

كيفية تمرير البيانات بين المكونات والقوالب

يمكن تمرير البيانات بين المكونات والقوالب باستخدام الخصائص المخصصة مثل props. يتم تعريف الخصائص في كائن المكون وتمرير القيم إليها عند استخدام المكون في القالب.

على سبيل المثال، يمكن إنشاء مكون Vue.js يحتوي على خاصية title وتمرير قيمة إليها من القالب كما يلي:

Vue.component('custom-component', {

props: ['title'],

  template: '<div>{{ title }}</div>'

})

ثم يمكن استخدام المكون في القالب وتمرير قيمة للخاصية title كما يلي:

<template>

  <div>

    <custom-component :title="pageTitle"></custom-component>

  </div>

</template>

<script>

  import CustomComponent from './CustomComponent.vue'

  export default {

    components: {

      CustomComponent

    },

    data() {

      return {

        pageTitle: 'Vue.js Components and Templates'

      }

    }

  }

</script>

في هذا المثال، تم تمرير قيمة pageTitle إلى خاصية title في المكون CustomComponent.

استخدام أحداث Vue.js في المكونات والقوالب

يمكن استخدام أحداث Vue.js لتفعيل الإجراءات عند حدوث حدث معين في المكونات والقوالب. يمكن إضافة مثيلات من Vue كخاصية لكائن المكون واستخدامها لتعريف الأحداث.

على سبيل المثال، يمكن إضافة حدث click إلى عنصر button في قالب Vue.js كما يلي:

<template>

<div>

    <button @click="handleClick">Click me</button>

  </div>

</template>

<script>

  export default {

    methods: {

      handleClick() {

        alert('Button clicked!')

      }

    }

  }

</script>

في هذا المثال، يتم تعريف الحدث click على عنصر button باستخدام @click ويتم تعريف الإجراء الذي يتم تنفيذه عند حدوث الحدث في الوظيفة handleClick.

استخدام الحلقات في قوالب Vue.js

يمكن استخدام الحلقات في قوالب Vue.js لتكرار العناصر والتفاعل مع البيانات الموجودة في مصفوفة أو كائن. يتم تعريف الحلقة باستخدام v-for وتحديد العنصر الذي يتم تكراره والقيم المستخدمة في الحلقة.

على سبيل المثال، يمكن إنشاء قالب Vue.js لعرض مصفوفة من الأسماء كما يلي:

<template>

<div>

    <ul>

      <li v-for="name in names" :key="name">{{ name }}</li>

    </ul>

  </div>

</template>

<script>

  export default {

    data() {

      return {

        names: ['John', 'Jane', 'Bob', 'Alice']

      }

    }

  }

</script>

في هذا المثال، يتم تكرار العنصر li باستخدام v-for ويتم تحديد القيمة المستخدمة في الحلقة كـ name والمصفوفة المستخدمة كـ names.

إضافة CSS إلى المكونات والقوالب

يمكن إضافة CSS إلى مكونات وقوالب Vue.js باستخدام الطرق التقليدية لإدارة الأنماط. يمكن إضافة الأنماط المخصصة في القالب نفسه باستخدام عنصر style، ويمكن تحديد المصفوفات والكائنات التي تحتوي على الأنماط. على سبيل المثال، يمكن إضافة نمط خلفية لعنصر div في قالب Vue.js كما يلي:

<template>

<div style="background-color: #F5F5F5">

    <p>Hello world!</p>

  </div>

</template>

 

يمكن أيضًا إنشاء ملف CSS منفصل لإضافة أنماط مخصصة للمكونات والقوالب. يمكن تعريف الملف في المكون باستخدام import واستخدامه في القالب باستخدام class.

إنشاء المكونات المتعددة Vue.js

يمكن إنشاء المكونات المتعددة Vue.js لإدارة مجموعة من العناصر المرتبطة. يتم تعريف المكونات المتعددة باستخدام components في مكون Vue.js الأساسي وتحديد المكونات الفرعية التي يتم إنشاؤها.

على سبيل المثال، يمكن إنشاء مكون Vue.js يتضمن مكونين فرعيين لإنشاء قائمة من العناصر كما يلي:

<template>

<div>

    <h2>{{ title }}</h2>

    <ul>

      <list-item v-for="(item, index) in items" :key="index" :item="item"></list-item>

    </ul>

  </div>

</template>

<script>

  import ListItem from './ListItem.vue'

  export default {

    components: {

      ListItem

    },

    props: {

      title: String,

      items: Array

    }

  }

</script>

في هذا المثال، يتم إنشاء مكون Vue.js لإنشاء قائمة من العناصر. يتم تحديد العنوان والعناصر باستخدام الخصائص title و items، ويتم تكرار المكون الفرعي list-item باستخدام v-for وتحديد العنصر المستخدم في الحلقة.

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

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

يمكن الاطلاع على مصادر إضافية للمزيد من المعلومات والتعليمات التفصيلية حول المكونات والقوالب Vue.js، والتي تشمل:

1
2

منشور ذات صلة
ما هو NodeJS 6 Minutes

ما هو NodeJS؟

عاطفة عكرش

يُعرف NodeJS في الغالب كمنصة لبناء وتطوير التطبيقات من جانب الخادم ويستخدم بشكل عام للبرمجة من جانب الخادم.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة