Я сейчас работаю над хобби-проектом, где я загружаю некоторые данные из базы данных MongoDB, получаю данные из node.js бэкэнда в мой интерфейс, там я манипулирую своими данными и, наконец, хочу показать данные в Мой Angular интерфейс в Chart. js chart.
Проблема в том, что я получаю данные без проблем, и если я загружаю Chart с некоторыми фиктивными данными, все работает отлично, но когда Я пытаюсь загрузить реальные данные в мою диаграмму, она не отображается, пока я не изменю размер окна или, например, не нажму f12 для проверки моего веб-сайта.
Заранее спасибо!
Здесь приведен упрощенный код :
allTitles = [];
allSets = [];
allColors = [];
// OnInit:
this.chart = new Chart('myChart', {
type: 'doughnut',
options: {
responsive: true,
},
data: {
labels: this.allTitles,
datasets: [
{
label: 'My First dataset',
data: this.allSets,
backgroundColor: this.allColors,
borderColor: '#000000'
}
]
}
});
// A Function to get the Data from my Service:
this.parseService.getPlans().subscribe((plans: any) => {
plans.forEach(plan => {
this.parseService.getExercisesByPlan(plan._id).subscribe((exercises: any) => {
this.neighbourSetsCounter = 0;
exercises.forEach(exercise => {
this.neighbourSetsCounter += exercise.sets;
});
this.allTitles[this.neighbourCounter] = plan.title;
this.allSets[this.neighbourCounter] = this.neighbourSetsCounter;
this.allColors[this.neighbourCounter] = plan.color;
this.neighbourCounter++;
});
});
});