Avatar ·

Angular 2 @ViewChild retourne undefined — comment accéder correctement au composant enfant ?

Bonjour à tous ! Je suis débutant en Angular (2+) et TypeScript, et je suis confronté à un problème qui me laisse perplexe. J'essaie d'accéder à un composant enfant via le décorateur @ViewChild, mais il retourne constamment undefined. Voici mon code. J'ai un composant parent `ParentComponent` : ```typescript import { Component, ViewChild, AfterViewInit } from '@angular/core'; import { ChildComponent } from './child.component'; @Component({ selector: 'app-parent', template: `
` }) export class ParentComponent { @ViewChild(ChildComponent) childComponent!: ChildComponent; callChildMethod() { if (this.childComponent) { this.childComponent.doSomething(); } else { console.log('childComponent is undefined'); } } } ``` Et le composant enfant `ChildComponent` : ```typescript import { Component } from '@angular/core'; @Component({ selector: 'app-child', template: `

Enfant

` }) export class ChildComponent { doSomething() { console.log('Méthode enfant appelée'); } } ``` Le problème est que lorsque je clique sur le bouton, `childComponent` est toujours undefined. J'ai lu que @ViewChild est accessible après l'initialisation de la vue, donc j'ai essayé d'utiliser le hook `ngAfterViewInit`, mais cela n'a pas résolu le problème. Que dois-je faire pour accéder correctement au composant enfant ? Merci d'avance pour votre aide !