Avatar ·

خطأ Angular @ViewChild: متوقع وسيطان لكن تم استلام واحد — كيف أصلحه؟

مرحبًا! أنا أنتقل من Angular 7 إلى Angular 9 وواجهت خطأ غير مفهوم. كنت أستخدم `@ViewChild()` بهذه الطريقة: ```typescript @ViewChild('myDiv') myDiv: ElementRef; ``` لكن الآن المترجم TypeScript يعطي خطأ: ``` Expected 2 arguments, but got 1. ``` قرأت أنه في Angular 8+ تم تغيير توقيع `@ViewChild`. جربت إضافة `{ static: false }` — اختفى الخطأ. لكنني لا أفهم تمامًا ما يعنيه هذا. متى يجب استخدام `static: true` ومتى `static: false`؟ على سبيل المثال، لدي قالب بعنصر `
`، وأريد الوصول إليه في `ngAfterViewInit()`. أيضًا هناك directive ``، أصل إليها في `ngOnInit()`. أرجو توضيح كيفية استخدام `@ViewChild` بشكل صحيح في الإصدارات الجديدة من Angular. لماذا يجب تحديد الوسيط الثاني؟ وماذا سيحدث إذا وضعت `static: true` في كل مكان؟ شكرًا! <<>>

سبب الخطأ والاستخدام الصحيح لـ @ViewChild في Angular