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

204
Vistas
Cómo cargar NG2Charts cuando todos los datos están listos

Estoy trabajando en un proyecto Angular, donde quiero completar algunos gráficos con datos que recibo de Firebase. Como tengo que hacer una función asíncrona, los datos llegan DESPUÉS de cargar el gráfico, por lo que no muestra nada.

Mi código es el siguiente:

detalle.componente.html

 <div class="container mt-4"> <div class="card"> <div class="card-body"> <div class="container d-flex"> <span class="h3">Employee detail</span> </div> <div> <div> <div style="display: block"> <canvas baseChart [data]="doughnutChartData" [type]="doughnutChartType"> </canvas> </div> </div> </div> </div> </div> </div>

detalle.componente.ts

 import class DetailComponent implements OnInit { empHoursLearning!: number; empHProject1!: number; empHProject2!: number; public doughnutChartLabels: string[] = [ 'Hours learning', 'Hours Project 1', 'Hours Project 2' ]; public doughnutChartData: ChartData<'doughnut'> = { labels: this.doughnutChartLabels, datasets: [ { data: [this.empHoursLearning, this.empHProject1, this.empHProject2], backgroundColor: ['#7DFF93', '#36A2EB', '#FFCE56'], hoverBackgroundColor: '#E6E6E6', hoverBorderColor: '#E6E6E6', }, ], }; public doughnutChartType: ChartType = 'doughnut'; @ViewChild(BaseChartDirective) chart?: BaseChartDirective; ngOnInit(): void { this.getEmpleados(); } async getEmployee() { await this._employeeService.getEmployee().then((employees) => { this.empHoursLearning= employees!['hl']; this.empHProject1= empleados!['p1']; this.empHProject2= empleados!['p2']; }); } }

Mi pregunta es cómo hacer que el gráfico se represente una vez que se reciben todos los datos.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Como se menciona en el hilo similar :

Utilice un indicador de carga combinado con *ngIf para esperar a que se carguen los datos del servicio antes de inicializar el gráfico.

Es decir

 <canvas *ngIf="loaded" baseChart [data]="doughnutChartData" [type]="doughnutChartType"> </canvas>
about 4 years ago · Santiago Gelvez 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