Avatar ·

Angular @ViewChild Fehler: Expected 2 arguments, but got 1 — wie beheben?

Hallo! Ich wechsle von Angular 7 auf Angular 9 und bin auf einen unverständlichen Fehler gestoßen. Früher habe ich `@ViewChild()` so verwendet: ```typescript @ViewChild('myDiv') myDiv: ElementRef; ``` Aber jetzt gibt der TypeScript-Compiler einen Fehler aus: ``` Expected 2 arguments, but got 1. ``` Ich habe gelesen, dass in Angular 8+ die Signatur von `@ViewChild` geändert wurde. Ich habe versucht, `{ static: false }` hinzuzufügen — der Fehler verschwand. Aber ich verstehe nicht ganz, was das bedeutet. Wann sollte man `static: true` und wann `static: false` verwenden? Zum Beispiel habe ich ein Template mit einem Element `
`, auf das ich in `ngAfterViewInit()` zugreifen möchte. Außerdem gibt es eine Direktive ``, auf die ich in `ngOnInit()` zugreife. Bitte erklären Sie mir, wie man `@ViewChild` in neueren Angular-Versionen richtig verwendet. Warum muss das zweite Argument angegeben werden? Und was passiert, wenn ich überall `static: true` setze? Danke!