Angular: في مستندات Lifecycle Hooks ، ليس من الواضح أنه لم يتم استدعاء ngOnChanges في حالة عدم استخدام المدخلات

تم إنشاؤها على ٢٧ مارس ٢٠١٨  ·  1تعليق  ·  مصدر: angular/angular

أنا أرسل ...

[x] Documentation issue or request

السلوك الحالي

توضح صفحة ngOnChanges() :

تم استدعاؤه قبل ngOnInit() وكلما تغيرت خاصية أو أكثر من خصائص الإدخال المرتبطة بالبيانات

وهذا حوالي ngOnInit() :

يسمى [...] بعد أول ngOnChanges()

ليس من الواضح من هذا الوصف أنه لن يتم استدعاء ngOnChanges() إذا تم استخدام المكون _ بدون _ تقديم أي مدخلات.

سلوك متوقع

يجب أن تكون التوثيق أكثر وضوحًا حول سلوك ngOnChanges() : على وجه التحديد ، إذا تم الإعلان عن مدخلات لأحد المكونات ولكن لم يتم استخدامها ، فلن يتم استدعاء ngOnChanges() قبل ngOnInit()

الحد الأدنى من استنساخ المشكلة بالتعليمات

https://stackblitz.com/edit/angular-ngonchanges

ما هو الدافع / حالة الاستخدام لتغيير السلوك؟

انطلاقًا من المستندات ، قد يكون لدى المرء انطباع بأنه سيتم دائمًا استدعاء ngOnChanges() أولاً قبل ngOnInit() لمكون به مدخلات ، حتى لو لم يتم استخدام هذه المدخلات بواسطة القالب / المكون الأصلي.

قد يؤدي هذا إلى أخطاء عرضية غير واضحة ، مثل إزالة ngOnInit() إذا كان يكرر منطق بدء تشغيل مكون من ngOnChanges() .

docs feature medium

التعليق الأكثر فائدة

هذا اخرجني ايضا

تظهر الوثائق بالفعل مثل ngOnChanges وهو مطلب لإطلاق ngOnInit ، كما أنه لا يوضح أن ngOnChanges قد لا يتم إطلاقه على الإطلاق إذا لم تكن هناك بيانات مقيدة. عندما يكون الأمر في الواقع مجرد تصوير الترتيب الذي يتم استدعاؤهم ، لا يعني أنهم مرتبطون ببعضهم البعض أو لا.

سيكون من الرائع أن يتم توضيح هذا.

>كل التعليقات

هذا اخرجني ايضا

تظهر الوثائق بالفعل مثل ngOnChanges وهو مطلب لإطلاق ngOnInit ، كما أنه لا يوضح أن ngOnChanges قد لا يتم إطلاقه على الإطلاق إذا لم تكن هناك بيانات مقيدة. عندما يكون الأمر في الواقع مجرد تصوير الترتيب الذي يتم استدعاؤهم ، لا يعني أنهم مرتبطون ببعضهم البعض أو لا.

سيكون من الرائع أن يتم توضيح هذا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات