2016-09-12 3 views
0

Gibt es eine Möglichkeit, eine Variable zu erstellen, die einen Wert erhält, wenn ein Highcharts-Objekt erstellt wird, auf das später zugegriffen werden kann.Einstellen einer benutzerdefinierten Variable in Highcharts

Zum Beispiel, wenn Sie mit einem Diagramm arbeiten, das Ihnen erlaubt, Drilldown/Drillup-Levels zu erstellen, gibt es keine Möglichkeit, im Auge zu behalten, auf welchem ​​Level Sie sich befinden. Ich schaffe daher eine Flagge, die auf der Ebene 0 beginnt, und aktualisiert wird, wenn das Diagramm ein drillup/Drill-Down-Ereignis ausgelöst, zB:

var drilldown_level = 0; 
var template = { 
    chart: { 
     type: 'column', 
     events: { 
      drillup: function() { 
       drilldown_level -= 1; 
      }, 
      drilldown: function() { 
       drilldown_level += 1; 
      } 
     } 
    }, 
    // other options and data go here 
} 

var chart = new Highcharts.Chart(template); 

Die oben genannten Arbeiten gut genug, wenn Sie nur eine Karte haben. Wann immer ich wissen muss, welche drilldown Ebene das Diagramm aktiviert ist, überprüfe ich einfach die drilldown_level Variable. Das Problem tritt jedoch auf, wenn ich mehrere Diagramme habe. Ich brauche eine Möglichkeit, um eine drilldown_level Variable pro Diagramm Instanz zu erstellen, so dass ich dann auf jedes spezifische Diagramm beziehen kann.

Gibt es eine Möglichkeit, ein Flag oder eine Variable zu erstellen, auf die auf diese Weise für jedes Diagramm Bezug genommen werden kann?

Antwort

2

können Sie drilldownLevel Variable hinzufügen direkt in Ihr Diagramm:

chart: { 
    type: 'column', 
    events: { 
    load: function() { 
     this.drilldownLevel = 0; 
    }, 
    drilldown: function() { 
     this.drilldownLevel += 1; 
    }, 
    drillup: function() { 
     this.drilldownLevel -= 1; 
    } 
    } 
}, 

Dies wird Ihnen eine Chance Prüfung Drill-Down-Ebene für mehrere Diagramme zu verwenden.

Hier können Sie einfaches Beispiel sehen, wie es funktionieren kann: http://jsfiddle.net/qwuxwzx5/

Und hier können Sie beispielsweise mit zwei Charts: http://jsfiddle.net/qwuxwzx5/1/

Verwandte Themen