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

200
Vistas
Cargar datos antes de renderizar el subcomponente

Tengo un parentComponent llamado dashboardComponent. Esto contiene una tabla.

Al seleccionar una fila en esa tabla, muestro su subcomponente, que es companyAdmin, y le paso el ID de fila.

CompanyAdmin a su vez contiene 4 subcomponentes. La tarea de companyAdminComponent es realizar una solicitud GET con el ID de fila que recibió de su componente principal, el componente del tablero. Luego envíe distribuir esos datos a sus 4 subcomponentes.

El problema que tengo es que todo esto está en 1 página y, por lo tanto, no puedo usar un resolutor. Entonces, cuando renderizo el subcomponente de companyAdminComponent, falla porque aún no recibió los datos de la solicitud GET. y obteniendo el error

No se puede leer la propiedad 'nombre' de indefinido

Entonces, básicamente, ¿cómo muestro el subcomponente de companyAdmin, solo después de que se hayan cargado los datos?

El código

dashboard.html (componente principal)

Solo se muestra el código relevante por brevedad.

 // ap-company-admin only is being shown when a row is selected in the table <div class="row extraRowSpace" *ngIf="companySelected"> <div class="col-xl-12"> <ap-company-admin [companyId]="company.id"></ap-company-admin> </div> </div>

CompanyAdmin HTML (subcomponente de dashboardComponent)

 <ap-company-details [companyDetails]="companyDetails"></ap-company-details>

CompanyAdminComponent TS (subcomponente de dashboardComponent)

 ngOnInit() { this.companyService.getAllCompanyDetails(this.companyId).subscribe( response => { this.allCompanyDetails = response; this.companyDetails = { cardsName: this.allCompanyDetails.cardsName, name: this.allCompanyDetails.name }; } ); }

CompanyDetailsComponent (subcomponente de companyAdminComponent)

 @Input() companyDetails; companyName: FormControl; cardsName: FormControl; ngOnInit() { this.companyName = new FormControl(this.companyDetails.name); this.cardsName = new FormControl(this.companyDetails.cardsName); // Basically it is crashing here because on init of this component the data of companyDetails hasn't come back yet from the GET call }

Todas las cosas que encontré son cosas que hacer con la resolución, pero como no estoy navegando, solo muestro y oculto el componente companyAdminComponent al seleccionar una fila, no creo que pueda hacer esto con una resolución. ¿Algún consejo?

over 4 years ago · Santiago Trujillo
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