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

288
Vistas
Los datos de entrada del componente secundario () no están definidos cuando se cargan

Tengo un componente principal y es necesario cargar varios componentes secundarios. Los componentes secundarios deben cargarse tomando el objeto del elemento principal, hasta ahora funciona como se esperaba. Pero el problema aquí es que tengo un botón para representar en el componente secundario y el texto del botón proviene del componente principal. Si hago clic en ese botón, el componente secundario respectivo debería abrirse y los datos que provienen del componente principal deberían mostrarse en el componente secundario, aquí cada vez que hago clic en el botón del componente secundario, el componente secundario se abre pero los datos de input() son poniéndose indefinido. Debido a esto, los datos del componente principal no se muestran en el componente secundario cuando se expande. Aquí está el código de muestra :

componente principal.html :

 <div *ngFor="let tile of tiles$ | async;"> <ng-container [ngTemplateOutlet]="$any(getSelectedComponentTemplete(tile.tileUrl))" [ngTemplateOutletContext]="{ $implicit: {data:tile} }"> </ng-container> </div> <ng-template #card let-obj> <app-child [data]="obj.data"></app-child> </ng-template>`

parentcomponent.component.ts :

 @ViewChild('card', { static: true }) card!: TemplateRef<any>; getSelectedComponentTemplete(type: string) { switch (type) { case "card": return this.card; default: return; }

childcomponent.html :

 <mat-card> <mat-card-title> <button [routerLink]="data?.cardUrl" [disableRipple]="true" mat-flat-button>{{data?.tileName}}</button> </mat-card-title> </mat-card>`

childcomponent.component.ts :

 @Input() data!: any; ngOnInit(): void { console.log(this.data); }

No sé por qué se carga perfectamente cuando el componente secundario es parte del componente principal y no carga datos cuando hago clic en el botón del componente secundario.

Alguien me puede ayudar en esto ?

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