البرمجة

تمرير الدوال كخصائص في Vue.js

في تطبيقات Vue.js، يمكنك تمرير الدوال كخصائص (props) من العناصر الأب إلى العناصر الابن. وفي هذا السياق، تريد تمرير دالة من عنصر تتضمن وظيفة clicked إلى عنصر طفل، ولكنك تريد أيضًا تمرير معلومات مثل معرف المنشور عند النقر على الزر.

لتحقيق ذلك، يمكنك تعديل كودك قليلاً. في الجزء الأب، يمكنك تمرير دالة clicked مع معرّف المنشور كمعامل. ومن ثم في الجزء الطفل، يمكنك استدعاء الدالة clicked بمعرف المنشور كمعامل.

هذا مثال على كيفية تنفيذ ذلك:

html
<template> <div> <post v-for="post in posts" :clicked="clicked(post.id)" /> div> template> <script> export default { data() { return { posts: [...] }; }, methods: { clicked(postId) { return function() { alert(postId); }; } } }; script>

وفي العنصر الطفل (Post)، يمكنك استخدام الدالة clicked كما هو، بدون تعديل:

html
<template> <div> <button @click="clicked">Click mebutton> div> template> <script> export default { props: ['clicked'] }; script>

بهذا الشكل، عند النقر على الزر في العنصر الابن (Post)، سيتم استدعاء الدالة clicked الممررة كخاصية، وسيتم تمرير معرف المنشور كمعامل، الذي سيتم عرضه في نافذة تنبيه.

المزيد من المعلومات

بالطبع! دعنا نواصل التوسيع في المقال لشرح كيفية استخدام Vue.js لتمرير الدوال كخصائص وتوفير معلومات إضافية لها.

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

في المثال الذي قدمته، قمت بتمرير دالة clicked من المكون الأب (PostsFeed) إلى المكون الطفل (Post) كخاصية. ومن ثم في المكون الطفل، استخدمت هذه الدالة على الزر مباشرة دون تعديل.

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

يمكن توسيع هذا المفهوم بطرق عديدة، مثل تمرير المزيد من المعلومات، مثل كائنات المنشور الكاملة بدلاً من معرفاتها فقط، أو تمرير دوال تنفيذ مختلفة بناءً على سياق معين.

باستخدام هذه الأساليب، يمكنك بناء تطبيقات Vue.js قوية ومرنة تسمح لك بتبادل البيانات والسلوك بين مكونات التطبيق بشكل فعال وسلس.

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

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر