في الدرس السابق أخدنا مثال عن جلب بيانات الطلاب وقمنا بتعريف مصفوفة الطلاب بالمكون component ولكن في الحقيقة ليس من الحكمة جلب البيانات انطلاقا من المكونات components وانما وضيفة المكونات تقتصر الى طلب البيانات من شيء يسمى "ملفات الخدمة" services وهده بدورها تقوم بالاتصال بالسرفر فترسل له طلب بيانات فلان وعلان فيقوم السرفر بمعالجة طلب ملف الـ service وبعدها يقوم بالرد عليه وهدا الاخير "service" يقوم بالتقاط البيانات من السرفر ويحولها مباشرة الى المكون component
باختصار شديد يمكن ان نلخص طلب بيانات بشكل حقيقي بـ angular بهدا الشكل
- من المعلوم ان المكون هو صفحة او جزء من محتوى صفحة معينة , فعند اقلاع المكون فانه يرسل طلب بخصوص بيانات الطلاب الى ملف الخدمة وملف الخدمة هنا يمثل دورالوسيط حيث يستلم الطلب ثم يقوم الاتصال بالسرفر وطلب البيانات
- السرفر يعالج طلب ملف الخدمة servcie ويقوم بجلب بيانات الطلاب من قاعدة البيانات
- بعد المعالجة يقوم السرفر بعمل رد response الى ملف الخدمة
- ملف الخدمة service يستلم الرد مرفق ببيانات الطلاب او برسالة خطأ ما
- بعد الاستلام يحول ملف الخدمة البيانات المستلمة الى المكون
- يقوم المكون بمعالجة البيانات المستلمة ويستعرض مصفوفة الطلاب المستلمة بالـtemplate او الصفحة
لا يجب على المكونات Components جلب البيانات مباشرة من السرفر أو حفظها بشكل مباشر، انما هده الوضائف من اختصاص ملفات الخدمة Services اما المكونات فتقتصر منهمتها على العرض وادارة الواجهة الخاصة بها template .
في الدورة المقبلة "الدورة 102 من angular" سوف نتعرف على امثلة حقيقة حيث تقوم فيها الخدمات بالاتصال بسرفر حقيقي وجلب البيانات منه ومن ثم تفويض البيانات الى المكون