2016-05-27 9 views
2

Ich verwende Highcharts. Ich lade Highcharts dynamisch mit ng-repeat.Load Highcharts dynamisch mit dynamischer Konfigurationsoption

<div ng-repeat="(key,value) in chartCheckboxes track by $index"> 
    <div class="card" id="{{key}}"> 
      <div class="card-body" id="{{key}}"> 
       <highchart id="{{value.chartId}}" config="value.chartConfig"></highchart> 
      </div> 
    </div> 
</div> 

Es gibt ein Objekt der Größe 20, das 20 Highcharts auf Ansichten lädt.

$scope.chartCheckboxes = { 
turnover :{ 
     checked : true, 
     title:"Turnover", 
     chartId: "chart1", 
     chartConfig: "highchartsTurnover" 
}, 
operatingProfits :{ 
     checked : true, 
     title:"Operating Profit", 
     chartId: "chart2", 
     chartConfig: "highchartsOperatingProfit" 
} 
//.....like wise another 18 objects 
} 

Problem ist Config Attribut innerhalb highcharts Element

<highchart id="{{item.chartId}}" config="item.chartConfig"></highchart> 

nicht dynamisch hinzugefügt Wert eingestellt, der in der Steuereinheit eingestellt wird. Ich habe die Interpolationsanweisung {{}} nicht verwendet, sie kann jedoch immer noch nicht angezeigt werden.

Ich habe Hilfe dieser Beitrag dynamic highchart config in angular ui grid with angular js using pablojim's highcharts ng

aber kann nicht der Lage Graphen zu laden. Aber, wenn es mit statischen Werten geladen wird, lädt es richtig.

<highchart id="{{item.chartId}}" config="highchartsTurnover"></highchart> 

Kann mir bitte jemand dabei helfen.

Antwort

1

Grundsätzlich übergeben Sie nur einen string Wert der Konfigurationsvariable, idealerweise sollten Sie den Variablenwert aagainst scope & auswerten und ihn dann an das Attribut zurückgeben. Dies kann leicht durch Definieren einer Funktion erreicht werden.

Markup

<highchart id="{{item.chartId}}" 
    config="getComfig(item.chartConfig)"> 
</highchart> 

-Code

$scope.getConfig = function (configName) { 
    return $scope[configName]; 
} 
+0

Ja, es funktionierte Dank. :) Aber, aber ich habe diese Zeile nicht verstanden "Sie sollten diesen Variablenwert gegen den Geltungsbereich auswerten". Aber es funktionierte wie erwartet und ich frage mich immer noch, indem ich den Wert an die Funktion 'getConfig' zurückgebe und sie dann durch den Bereich zurückgebe. Ich meine, was es genau zur Arbeit gebracht hat. –

Verwandte Themen