البرمجة

استخدام Vue.js لاسترجاع بيانات REST من API

بدايةً، يجب التأكد من أن المتغير users يتم تعريفه في نطاق الـ Vue instance. الطريقة التي تم استخدامها الآن لا تضمن أن البيانات ستتم مهيأة بشكل صحيح في متغير users، لأن التعليمات Vue.http.get هي غير متزامنة، وبالتالي قد يتم تعيين قيمة users قبل استلام البيانات من الطلب الخارجي.

لتجنب هذا، يمكن استخدام خاصية Vue المخصصة mounted لضمان أن البيانات تم استرجاعها قبل تجهيز الـ DOM. بالإضافة إلى ذلك، يمكن استخدام this داخل الدالة للإشارة إلى الـ Vue instance بدلاً من استخدام متغير خارجي.

فيما يلي كيفية تعديل الكود ليعمل بشكل صحيح:

javascript
new Vue ({ el: '#user-list', data: { list: [] // بدايةً، يجب تعريف list كمصفوفة فارغة }, mounted: function() { var link = 'https://jsonplaceholder.typicode.com/users'; var vm = this; // يتم حفظ الإشارة إلى Vue instance في متغير لاستخدامه داخل الوظيفة الردية Vue.http.get(link).then(function(response){ vm.list = response.data; // تعيين قيمة البيانات المسترجعة إلى مصفوفة list داخل Vue instance }, function(error){ console.log(error.statusText); }); } });

هذا التعديل يضمن أن البيانات سيتم تعيينها بشكل صحيح إلى list بعد استرجاعها من الطلب الخارجي.

بعد هذه التعديلات، يجب أن يقوم Vue بتعيين البيانات المسترجعة إلى list داخل Vue instance، مما يمكنك من استخدامها بسهولة في الـ template الخاص بك.

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

بالطبع، دعني أوسع شرحي لهذا الموضوع.

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

في المثال الذي ذكرته، كان الهدف هو جلب بيانات من نقطة نهاية (Endpoint) عبر طلب HTTP GET، ثم عرض هذه البيانات في واجهة المستخدم. لتحقيق هذا، تم استخدام Vue.js بالإضافة إلى إضافة vue-resource لإجراء الطلبات الشبكية.

تم استخدام mounted دالة الحياة لتحديد الوقت الذي يجب فيه إجراء الطلب عندما يتم تحميل Vue instance. هذا يضمن أن البيانات ستكون متاحة عندما يتم عرض الواجهة للمستخدم.

داخل دالة mounted، تم إنشاء طلب GET باستخدام Vue.http.get وتم إرجاع البيانات الناتجة من الطلب. بمجرد استلام البيانات، تم تعيينها إلى خاصية list داخل Vue instance باستخدام vm.list = response.data، حيث تم استخدام vm (المتغير الذي يحمل الإشارة إلى Vue instance) بدلاً من this داخل الوظيفة الردية للحفاظ على الإشارة الصحيحة.

بعد تعيين البيانات إلى list، سيقوم Vue بإعادة تقديم الواجهة لتضمين البيانات الجديدة التي تم جلبها.

بهذه الطريقة، يمكن الآن استخدام بيانات المستخدمين المسترجعة بسهولة في واجهة المستخدم، ويمكن تحديثها تلقائياً عندما يتم استرجاع بيانات جديدة من النقطة النهائية.

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

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

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

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