esto es bastante sencillo y no pude encontrar ninguna solución que funcione para mí, incluida la lectura de la documentación de Angular.
Por lo tanto, quiero acceder a un componente secundario desde su elemento principal mediante la identificación del elemento secundario porque quiero usarlo en la prueba unitaria de Jasmine para el componente principal.
El problema es que el componente secundario está dentro de ng-template.
Y no tengo referencia de eso. Probé diferentes soluciones, ninguna funciona.
Este es un código de ejemplo:
Esta plantilla ng se encuentra en el componente principal:
<ng-template #templateName> <child-component id="child-component"></child-component> </ng-template>Y en el componente padre :
@ViewChild('templateName') template; ¿Cómo acceder al <child-component> </child-component> por su id por el padre?
¡Cualquier ayuda sería muy apreciada!
¡Gracias!
Puedes usar algo como:
fixture.debugElement.query(By.css('#yourId').nativeElement;O también tienes:
fixture.debugElement.query(By.directive(YourComponent)).nativeElement;