У меня есть функция, которая создает график по Chart.js. У меня есть некоторые проблемы с добавлением новым данных и апдейтом. Нашел решение использовать destroy() и создавать новый, но для этого нужно сохранять в переменную состояние т.е существует отрисованный Canvas или нет. Я поступил таким образом:
let currentChart;
let currentResponse;
const createChart = response => {
if (typeof currentChart != 'undefined') {
currentChart.destroy();
}
//много кода
}
Также у меня есть самописные плагины для Chart.js где вызывается внешняя функция, но как аргумент берет именно currentResponse т.е из глобальной переменной.
Chart.plugins.register({
afterDatasetsDraw: function(chart) {
document.getElementById('myChart').onclick = function(e) {
let activePoint = chart.getElementsAtEvent(e);
let selectedPoint = activePoint[0];
weather.showWeatherData(currentResponse, selectedPoint._index);
}
},
})
Плагины объявлены внутри функции. Мне предложили сделать это все отдельным модулем со своей областью видимости, но я немного не понимаю как это должно выглядеть?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости