Angular Chartjs如何使其对数据变化做出反应?

时间:2015-12-29 18:32:59

标签: javascript angularjs chart.js angular-chart angular-chartist.js

我试图编写一个可以显示来自API的数据的应用程序,在工作期间,我将能够更改我想在图表上显示的时间和日期范围。

现在我正在与基本的数据变化作斗争。

我有一个简单的图表代码: HTML:

<button type="button" class="btn btn-success" ng-click="ReloadChart();">Reload</button>
<div class="col-lg-12 col-sm-12" id="line-chart" ng-controller="LineCtrl">
    <div class="panel panel-default">
        <div class="panel-heading">Line Chart</div>
        <div class="panel-body">
            <canvas id="line" class="chart chart-line" chart-data="data" chart-labels="labels"
                    chart-legend="true"
                    chart-click="onClick" chart-hover="onHover" chart-series="series"
                    chart-options="{pointHitDetectionRadius: 1}"></canvas>
        </div>
    </div>
</div>

和JS:

$scope.labels = ["January", "February", "March", "April", "May"];
$scope.series = ["Temperatura"];
$scope.data = [[22, 33, 44, 55, 22]];

$scope.ReloadChart = function () {
    console.log("Reloading chart");
    $scope.labels =
        ["January", "February", "March", "April", "May", "June", "July"];
    $scope.series = ["Temperatura"];
    $scope.data = [[65, 59, 80, 81, 56, 55, 40]];
}

当然它只是较长代码的一部分。 我想对这部分做的是用ReloadChart()函数中的新数据重新加载图表。但问题在于没有任何变化。在控制台中我有&#34;重新加载图表&#34;但图表仍然相同。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

移动ng-controller="LineCtrl"使其位于按钮元素之外,否则您将涉及错误的范围。