4

ページにグラフを描画するために、 highcharts-ng Angular-JS ディレクティブを使用しています。

コントローラーのデータを更新し、これらの値をグラフに反映できるようにしたいと考えています。ただし、割り当てを使用して $scope 変数を更新すると、たとえば次のようになります。

$scope.chartData = [1, 2, 3];

...その後、グラフは更新されません。グラフを更新できる唯一の方法は、値をデータにプッシュすることです。

$scope.chartData.push(4);

...しかし、これは最初に実行されたときにのみ機能します。これが私が何を意味するかを示すJS-fiddleです:http://jsfiddle.net/K6hL8/

私は Angular を初めて使用するので、サード パーティのディレクティブを非難する前に、自分の Angular コードに明らかな問題があるかどうかを確認したいと思いました ($scope と双方向バインディングを誤解している可能性があります)。

前もって感謝します!

編集:

したがって、(このフィドルでは: http://jsfiddle.net/K6hL8/で) AngularchartData の変更を認識しているように見えますが (アラート付きのウォッチを配置しました)、ウォッチが「true」で呼び出された場合のみです。 「平等のために。ディレクティブのすべてのウォッチが「true」を使用しているため、困惑しています...

4

1 に答える 1

8

実際のチャートに適用するために使用される一時データ変数を変更しています。.seriesデータを直接変更する必要があります

    var data  = $scope.chartConfig.series[0].data;
    $scope.chartConfig.series[0].data = data.concat([data.length]);   

http://jsfiddle.net/K6hL8/4/

于 2014-01-03T19:01:22.703 に答える