Avatar ·

Erreur Angular @ViewChild : 2 arguments attendus, mais 1 reçu — comment corriger ?

Bonjour ! Je passe d'Angular 7 à Angular 9 et je rencontre une erreur incompréhensible. Avant, j'utilisais `@ViewChild()` comme ceci : ```typescript @ViewChild('myDiv') myDiv: ElementRef; ``` Mais maintenant, le compilateur TypeScript génère une erreur : ``` Expected 2 arguments, but got 1. ``` J'ai lu que dans Angular 8+, la signature de `@ViewChild` a changé. J'ai essayé d'ajouter `{ static: false }` — l'erreur a disparu. Mais je ne comprends pas vraiment ce que cela signifie. Quand faut-il utiliser `static: true` et quand `static: false` ? Par exemple, j'ai un template avec un élément `
`, et je veux y accéder dans `ngAfterViewInit()`. J'ai aussi une directive ``, que j'utilise dans `ngOnInit()`. Pouvez-vous m'expliquer comment utiliser correctement `@ViewChild` dans les nouvelles versions d'Angular ? Pourquoi faut-il spécifier le deuxième argument ? Et que se passe-t-il si je mets `static: true` partout ? Merci ! <<>>

Cause de l'erreur et utilisation correcte de @ViewChild dans Angular