Я пытаюсь нарисовать диаграмму, используя chart.js. Я могу заставить диаграмму отображаться с использованием onRendered, когда я использую статические числа, однако, когда я пытаюсь создать переменную, захватывая данные из коллекции, переменная return undefined. Я предполагаю, что это проблема порядка загрузки.findOne возвращает undefined in onRendered
Template.communication.onRendered(function() {
// Get the context of the canvas element we want to select
var ctx = document.getElementById("myChart").getContext("2d");
// get user data for charts
var id = FlowRouter.getParam('id');
var user = ProfessionalOverview.findOne({"candidateUserId": id});
var communicationSkills = user && user.communicationSkills;
// Set the data
var data = {
labels: ["Communication skills"],
datasets: [
{
data: [communicationSkills, 2],
backgroundColor: [
"#FF6384",
"#F2F2F2",
]
}]
};
// And for a doughnut chart
var myDoughnutChart = new Chart(ctx, {
type: 'doughnut',
data: data,
options: {
cutoutPercentage: 50,
tooltips: false,
legend: {
labels:{
display: true,
boxWidth: 0
},
onClick: (e) => e.stopPropagation(),
},
animation:{
animateRotate: true,
render: false,
},
}
});
});