خطاطيف دورة الحياة هي جزء مهم جدًا من أي مكون. نحن ، تطبيقنا ، نحتاج غالبًا إلى معرفة ما يحدث للمكون عند إنشائه أو تثبيته أو تحديثه أو إتلافه.
في المكون ، يمكننا التقاط هذه الأحداث باستخدام الأساليب المناسبة ، على سبيل المثال:
- تم إنشاؤه - يتم إنشاء مثيل المكون
- شنت - يتم تثبيت مثيل المكون
- تم التحديث - تم تحديث DOM الظاهري بسبب تغييرات البيانات
- دمرت - تم تدمير مثيل المكون
- إلخ الوثائق
في رمز المكون الخاص بنا ، سيبدو كما يلي:
حسنا. ولكن ماذا لو كان المكون الرئيسي بحاجة إلى معرفة ما يحدث في المكون الفرعي ، على سبيل المثال ، أنه قد تم تحديث المكون؟ في المكون الفرعي ، يمكننا رفع حدث ، وتعليق المستمع على المكون الأصل. في رمز طلبنا ، سيبدو كما يلي:
رائعة ، عند تحديث المكون الفرعي ، يمسك المكون الأصل الحدث الذي تم تحديثه ويتم تنفيذ الأسلوب المفيدثيثود ().
كل شيء رائع! ولكن ماذا لو احتجنا إلى تضمين مكون جهة خارجية تم تنزيله من npm أو git وفعل شيء مفيد في المكون الأصل ، على سبيل المثال ، عند تركيبه؟ ادخل إلى رمز مكون تابع لجهة خارجية ، في خطاف مُثبَّت لإنشاء حدث ... ليست فكرة جيدة! ولكن ماذا لو قلت لك أنه ليس عليك ذلك! بدلاً من ذلك ، يمكننا فقط الاستماع إلى الحدث! سيكون اسم هذا الحدث هو اسم ربط دورة الحياة ، لكنك تحتاج إلى إضافة بادئة
@hook:
شيء مثل هذا
@hook:___
، على سبيل المثال:
@hook:mounted, @hook:updated @hook:destroyed
.
في الكود ، سوف يبدو مثل هذا:
يبدو لي أن هذه وظيفة مفيدة للغاية للعمل مع كل من مكوناته وطرف ثالث. آمل أن تجدها مفيدة. من الغريب أنه لا توجد كلمة في الوثائق المتعلقة بها ويمكن العثور على بعض الميزات فقط من خلال قراءة التعليمات البرمجية المصدر.
شكرا للقراءة. قراءة قفص الاتهام والمصدر! ومع العام الجديد القادم 2020!