我使用highchart实现了柱形图,并试图在深入分析中显示另一系列数据。向下钻取工作正常,但事件触发多次。例如:如果您第二次单击某个栏,则向下钻取事件将触发2次。根据点击次数,钻取事件正在增加。
而且我不知道如何阻止这个事件。(stopPropagation并不工作)。
events: {
drilldown: function(e) {
if (!e.seriesOptions) {
chart = this;
chart.showLoading('<div class="loading-modal loading-modal-wrapper"><div class="loading-title">Loading...</div></div>');
const param = {
method: 'Get',
url: `/test/`
};
service.ajax(param, resp => {
// Show the loading label
formatSeriesData(e.point.category, resp);
$timeout(() => {
chart.xAxis[0].categories = drilldownCategories;
chart.xAxis[0].axisTitle.attr({
text: e.point.category
});
chart.addSeriesAsDrilldown(e.point, drilldownSeriesData);
chart.hideLoading();
chart.applyDrilldown();
});
}, () => {
$log.log("API data failed!");
});
}
},
drillup: () => {
chart.xAxis[0].categories = $ctrl.categories;
}
}
错误讯息:
angular.js:14199 TypeError: Cannot read property 'xAxis' of null
at a.Chart.q.addSingleSeriesAsDrilldown (drilldown.js:10)
at a.Chart.q.addSeriesAsDrilldown (drilldown.js:10)
任何人都可以指导我解决这个问题。
答案 0 :(得分:0)
我也面临同样的问题。而且,这真的让我大吃一惊。无需升级highchart版本。
在使chartconfig执行以下任务时,
if(chartInitialized){
chartInitialized = false;
}
else{
chartConfig.chart.events = Object.create({});
}
,并在加载时将变量初始化为true。 谢谢:)