我试图仅在用户按下按钮时显示图表!目前,我正在做以下事情:

在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

提前致谢

最佳答案

我假设您没有对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/之类的东西

09-12 20:05