Highcharts-ng指令(Angular)不更新

Jac*_*erd 4 javascript highcharts angularjs angularjs-scope highcharts-ng

我正在使用highcharts-ng Angular-JS指令在我的页面上绘制图表.

我希望能够更新控制器中的数据,并将这些值反映在图表中.但是,当我使用赋值更新$ scope变量时,例如:

$scope.chartData = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)

...然后图表不会更新.我可以更新图表的唯一方法是将值推送到数据中,例如:

$scope.chartData.push(4);
Run Code Online (Sandbox Code Playgroud)

...但是这仅在第一次执行时起作用.这是一个JS小提琴,显示我的意思:http://jsfiddle.net/K6hL8/

我是Angular的新手所以我想在我开始指责第三方指令之前检查我的Angular代码是否存在明显的问题(也许我误解了$ scope和双向绑定?).

提前致谢!

编辑:

所以看来(在这个小提琴中:http://jsfiddle.net/K6hL8/),Angular 确实看到了chartData中的变化(我已经把一个带有警报的手表放在上面),但只有在使用"true"调用watch时"为了平等.指令中的所有手表都使用'true',所以我很难过......

YOU*_*YOU 8

您正在修改用于应用于实际图表的临时数据变量.您需要直接修改.series数据

    var data  = $scope.chartConfig.series[0].data;
    $scope.chartConfig.series[0].data = data.concat([data.length]);   
Run Code Online (Sandbox Code Playgroud)

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

  • ya,变量引用同一个对象,但是api可以将数据缓存到另一个变量吗? (2认同)