У меня есть вопрос, связанный с этим вопросом и этот ответ, но они не решают полностью мой вопрос. Я использую vue и apexcharts, и я хотел бы вернуть значение или обновить переменную из события. Можно ли что-то вернуть вместо того, чтобы печатать в консоли?
Что-то вроде этого:
events: {
dataPointSelection: function (event, chartContext, config) {
this.active = this.series[config.seriesIndex];
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что «this» ссылается на общий компонент vue, и поэтому «series» и «active» не могут быть найдены.
Вот код, который выдает мне «TypeError: this.series is undefined», когда я нажимаю на данные точки. Данные серии я получаю от родительского компонента, и это выглядит так:
[{"name":"S-1","data":[[2.65,100], [6.67,100]]}, {"name":"S-2","data":[[0,50],[2.65,50]]}]
<script>
import VueApexCharts from 'vue-apexcharts';
export default {
name: "myGraph",
components: {
apexchart: VueApexCharts,
},
props: {
series: {}
},
data: () => ({
active: undefined,
chartOptions: {
chart: {
width: '100%',
animations: {
enabled: false
},
events: {
dataPointSelection: function (event, chartContext, config) {
this.active = this.series[config.seriesIndex];
}
}
},
tooltip: {
intersect: true,
shared: false
},
markers: {size: 1},
}
}),
}
}
</script>
Идея состоит в том, что в dataPointSelection он должен активировать эту серию, чтобы позже получить доступ к другой информации, которая будет храниться в этом объекте.