Я использую Chartist и VueJS и пытаюсь получить доступ к данным на моем графике.Когда я нажимаю на свой график, я могу получить информацию об индексе моего клика.Я получаю эти данные, но у меня возникают проблемы с передачей этих данных самой Vue.
Вот мой текущий код:
data() {
return {
monthIndex: 0,
chartData: {
labels: [],
series: [[], []]
},
/* other chart options that I omitted */
chartEventHandlers: [
{
event: "draw",
fn(data) {
if (data.type === "bar") {
data.element.animate({
y2: {
begin: data.index * 40,
dur: "0.3s",
from: data.y1,
to: data.y2,
easing: "easeOutQuad"
},
opacity: {
begin: data.index * 40,
dur: "0.3",
from: 0,
to: 1,
easing: "easeOutQuad"
}
});
data.element._node.onclick = evt => {
console.log(data.axisX.ticks[data.index]);
// How do I assign this to monthIndex??
};
//
}
}
}
]
};
}
Как вы можете видеть здесь:
data.element._node.onclick = evt => {
console.log(data.axisX.ticks[data.index]);
};
Я могу заставить его отображать правильное значение в консоли, я просто пытаюсь найти способ сделать
monthIndex = data.axisX.ticks[data.index]
Однако monthIndex не существует в области действия функции, поэтомуЯ не могу просто присвоить его этой переменной.Как мне это сделать?Я пытаюсь, чтобы monthIndex отображался в HTML-представлении, чтобы оно менялось при каждом нажатии на другую часть диаграммы.