我试图实现具有多个y轴的highcharts,需要为每个y轴设置yAxis.tickPositioner回调函数。因此,与其在每个回调中编写重复的代码,我需要创建一个util函数,我可以将dataMin和dataMax等值传递给该函数,而这些值只能在tickPositioner回调函数中访问。
chartOptions {
xAxis: {
tickPositions: [0, 1, 2, 4, 8]
},
yAxis: {
tickPositioner: function () {
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);
if (this.dataMax !== null && this.dataMin !== null) {
for (tick; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
}
return positions;
}
},
}
相反,我想要这样的东西,它在util函数中包含所有的值,如.dataMin和.dataMax
chartOptions {
xAxis: {
tickPositions: [0, 1, 2, 4, 8]
},
yAxis: {
tickPositioner: this.utilFunction();
},
}
utilFunction() {
var positions = [],
tick = Math.floor(this.dataMin),
increment = Math.ceil((this.dataMax - this.dataMin) / 6);
if (this.dataMax !== null && this.dataMin !== null) {
for (tick; tick - increment <= this.dataMax; tick += increment) {
positions.push(tick);
}
}
return positions;
}
1条答案
按热度按时间txu3uszq1#
如果按以下方式分配轴,则可以通过
utilFunction
中的this
访问该轴:现场演示:http://jsfiddle.net/BlackLabel/6m4e8x0y/4958/
如果需要在函数中使用其他上下文,可以通过参数传递所需的值:
现场演示:http://jsfiddle.net/BlackLabel/6m4e8x0y/4959/