0

ユーザーがボタンを押したときだけチャートを表示しようとしています! 現在、私は以下を作っています:

HTMLで:

<canvas ng-hide="secondGraph" id="bar" class="chart chart-bar" data="data" labels="labels"></canvas>
<button class="btn btn-theme btn-block" ng-click="secondGraphCtrl()"><i class="fa fa-lock"></i> Second Graph</button>

controllers.js で:

$scope.secondGraphCtrl = function() {
        if($scope.secondGraph==true)
            $scope.secondGraph=false;
        else
            $scope.secondGraph=true;
    }

しかし、グラフは表示されません...私の $scope.secondGraph starts = true

前もって感謝します

4

2 に答える 2

1

Chart.jsの角度ディレクティブを使用していないと思います(SOタグから)。その場合は、Chart.js キャンバスが表示された後にのみ線を描画する必要があります。をブロックで囲み、 その後に右$scope.secondGraph=false;を置きます。var cts=... ; new Chart(ctx).Bar...;

フィドル= https://jsfiddle.net/pbog134e/

また、HTML を見て、グラフを動的に更新する場合は、データとラベルを監視するか、http://jtblin.github.io/angular-chart.js/のようなものを使用する必要があります。

于 2015-06-04T22:14:09.843 に答える
0

Angularがページにチャートが存在することを認識している場合、単純なキャンバスビットを使用していますか? そうではありません!

最善の方法は、グラフを Angular エコ システムに取り込もうとすることです。つまり、独自のグラフ ディレクティブを記述するか、Angular グラフ ライブラリを使用します。

これを確認してください: http://krispo.github.io/angular-nvd3/#/

于 2015-06-05T01:46:50.853 に答える