Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

187
Vistas
¿Cómo puedo usar ViewChild para encontrar un componente creado dinámicamente?

Tengo una directiva estructural personalizada. Funciona de manera muy similar a *ngIf , excepto que si una condición en particular es verdadera, muestra un componente predeterminado específico al que llamo DynamicComponent en el siguiente ejemplo simplificado:

 @Directive({ selector: '[myDirective]', }) export class MyDirective { @Input() set myDirective(condition: Boolean) { if (condition) { const componentRef = this.viewContainer.createComponent(DynamicComponent); this.viewContainer.createEmbeddedView(this.templateRef); } } constructor( private readonly templateRef: TemplateRef<unknown>, private readonly viewContainer: ViewContainerRef) {} }

Para probar este código, necesito acceder para instanciarlo y luego acceder a la instancia de DynamicComponent . He escrito la siguiente clase de prueba, pero falla porque @ViewChild no encuentra DynamicComponent .

 @Component({ selector: 'test-component', template: ` <ng-container *myDirective="unused"> </ng-container>`, }) class TestComponent { // THIS DOES NOT FIND THE DynamicComponent! @ViewChild(DynamicComponent, {static: false}) instance!: DynamicComponent; }

¿Cómo puedo acceder a DynamicComponent usando una instancia de TestComponent ?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda