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

170
Vistas
La representación del componente angular condicionalmente en función de su variable de entrada no infiere la existencia de la variable de entrada

Tengo un componente angular con una matriz de variables de entrada que se inicializa de forma asíncrona en el padre.

 @Component({ ... }) export class ChildComponent { @Input inputVariable: string; }
 @Component({ ... }) export class ParentComponent implements OnInit { inputVariables: string[] = []; constructor( private http: HttpClient ) { } ngOnInit(): void { this.http.get<string[]>('someUrl') .subscribe(res => this.inputVariables = res) } }

Ahora quiero representar en parent.component.html un ChildComponent para cada variable de entrada como este:

 <div *ngFor="let inputVariable of inputVariables"> <child-component [inputVariable]="inputVariable" /> </div>

En ChildComponent puedo estar seguro de que inputVariable está definido. Sin embargo, mecanografiado se queja de que el tipo de inputVariable debe ser string | undefined Sin embargo, luego necesito verificar cada uso de inputVariable en ChildComponent si inputVariable está definido o no, que no es lo que quiero hacer.

¿Hay alguna solución para que ts infiera que inputVariable siempre se define para cualquier ChildComponent representado?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El valor para @Input se establece más tarde que en la inicialización (en el gancho ngOnInit para ser precisos). Para evitar que TypeScript se queje, simplemente establezca el valor predeterminado para inputVariable así:

 @Component({ ... }) export class ChildComponent { @Input inputVariable: string = ""; }

Le dice que establezca el tipo en string | undefined , porque el valor predeterminado de cada variable en javascript es undefined . Al darle el valor predeterminado de cadena vacía, no tiene que preocuparse por los diferentes tipos.

about 4 years ago · Juan Pablo Isaza Denunciar
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