我尝试将一些线条(路径)绘制到Highcharts-Chart中。导出图表时,线条应该略有不同。因此我创建了一个Highcharts-Function,我称之为“load”和“redraw”。我只需要在调用函数时传递一个小参数,但这不起作用。我如何通过论证?
以下是相关的代码细节:
Highcharts.linien = function (r) { //generating the lines with my r-argument }
...
chart: {
events: {
load: Highcharts.linien(0)
}
exporting: {
chartOptions: {
chart: {
events: {
load: Highcharts.linien(15)
}
}
}
这是一个没有使用参数的工作jsFiddle。
此外:如果有人有线索,如何在“重绘”中摧毁我的svg-group(linienGruppe),我也将非常感激!
答案 0 :(得分:2)
应该有:
chart: {
events: {
load: function(){
Highcharts.linien.call(this, 0);
}
}
}
exporting: {
chartOptions: {
chart: {
events: {
load: function(){
Highcharts.linien.call(this, 15);
}
}
}
}
}
因此,使用call()
,您可以将this
对象传递给您的函数。
关于摧毁组,首先存储在你的组中的某个地方,所以以后你可以销毁那个对象,如下所示:
if(this.linienGruppe) {
this.linienGruppe.destroy();
}
this.linienGruppe = linienGruppe;
答案 1 :(得分:1)
Highcharts.linien(0)
& Highcharts.linien(15)
既是函数执行/调用,也不是处理程序。处理程序本身就是一个函数。由于你想传递一个参数,我建议你创建一个内联匿名函数,其中一行用适当的参数调用你创建的方法,如下所示;
chart: {
events: {
load: function(){
Highcharts.linien(0);
}
}
exporting: {
chartOptions: {
chart: {
events: {
load: function(){
Highcharts.linien(15);
}
}
}
}