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/)Angular确实看到了chartData的变化(我已经放了一个带有警报的手表),但只有当watch被称为“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 回答