我尝试在下面的 xAxis 事件处理程序中设置Extremes,但收到未捕获的类型错误。 如何在 xAxis 事件处理程序中设置Extremes?
xAxis: {
events: {
setExtremes: function (e) {
if (e.trigger === "navigator") {
forceRebuildSeries(); //Get all data points
// Set Extremes (redisplay with new data points)
this.chart.xAxis[0].setExtremes(e.min, e.max); //Uncaught TypeError: Property 'setExtremes' of object #<Object> is not a function
}
}
}
},
如果有任何帮助或解决方法,我将不胜感激。 谢谢。
我知道现在有点晚了,只是想向未来的访客添加我的答案。
Highchart 不允许从 setExtremes 事件处理程序内部调用 setExtremes 以避免无限循环。这就是您收到错误的原因。
但是,您可以插入超时来解决此保护问题:
xAxis: {
events: {
setExtremes: function (e) {
if (e.trigger === "navigator") {
var c = this;
setTimeout(function() {
forceRebuildSeries(); //Get all data points
// Set Extremes (redisplay with new data points)
c.chart.xAxis[0].setExtremes(e.min, e.max);
}, 1);
}
}
}
}
看起来 highcharts 实际上在回调期间将 xAxis 对象的所有属性设置为 null。 您不需要这样做,尽管您可能只需注释掉给出错误的行就可以了