Javascript Highcharts ng指令(角度)未更新

Javascript Highcharts ng指令(角度)未更新,javascript,angularjs,highcharts,angularjs-scope,highcharts-ng,Javascript,Angularjs,Highcharts,Angularjs Scope,Highcharts Ng,我正在使用Angular JS指令在页面上绘制图表 我希望能够更新控制器中的数据,并将这些值反映在图形中。但是,当我使用赋值更新$scope变量时,例如: $scope.chartData = [1, 2, 3]; …则图形不会更新。我更新图表的唯一方法是将一个值放入数据中,例如: $scope.chartData.push(4); …但是,这仅在第一次执行时起作用。这是一把JS小提琴,展示了我的意思: 我是Angular的新手,所以在我开始责怪第三方指令之前,我想检查Angular代码是否

我正在使用Angular JS指令在页面上绘制图表

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

$scope.chartData = [1, 2, 3];
…则图形不会更新。我更新图表的唯一方法是将一个值放入数据中,例如:

$scope.chartData.push(4);
…但是,这仅在第一次执行时起作用。这是一把JS小提琴,展示了我的意思:

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

提前谢谢

编辑:


因此(在这把小提琴中:)Angular确实看到了chartData中的变化(我放了一个带有警告的手表),但只有当用“true”表示相等时,它才会被调用。指令中所有的手表都是“真”的,所以我很困惑

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

    var data  = $scope.chartConfig.series[0].data;
    $scope.chartConfig.series[0].data = data.concat([data.length]);   

谢谢你的回答。所以我可以编辑$scope.chartConfig,这很好,但是我不应该也可以编辑$scope.chartData并更新父对象吗?当我第一次将一个新值放入它时,它就起作用了,但不是随后。是的,变量引用了同一个对象,但可能是api将数据缓存到了另一个变量的某个地方?这里是该指令的作者。有一个bug现在已经修复。你的JSFIDLE现在可以工作了!嗨-谢谢你让我知道-也谢谢你的指示!