尝试在我的 AngularJS 应用程序中使用 nvd3-line-chart 指令,但它不会在更改底层模型时重绘...
我是 AngularJS 的新手,所以对于经验丰富的 Angular 程序员来说可能很明显,但让我发疯:-)
在stackoverflow上搜索类似问题只会找到处理更复杂问题(如实时图表等)的答案 - 但我只想在点击链接时推送新数据......
我在这里准备了一个 Plunker 示例:
http://plnkr.co/edit/TkyHhbfi0vNw1FJ6mYZC?p=preview
指令是这样使用的:
<nvd3-line-chart data="exampleData" showXAxis="true" showYAxis="true"
tooltips="true" xAxisTickValues="xAxisTicks()"
xAxisTickFormat="xAxisTickFormat()"
yAxisTickFormat="yAxisTickFormat()" interactive="true" objectEquality="true">
</nvd3-line-chart>
(也尝试使用 objectEquality=false,但行为没有改变)...
然后在我的 js 代码中,我在子函数(来自 http 传输的回调)中设置了新内容:
$scope.exampleData = data;
为了确保所有内容都按需要调用,还添加了一些标签(xxx)并在从 click 到 yyy 的函数调用中对其进行了修改,这样可以正常工作 - 所以数据绑定和范围可用性似乎没问题?
相同的功能也用于初始填充,效果很好......
任何人都可以对这个问题有所了解吗?
顺便提一句; 还找到了一个工作示例,但无法发现差异(除了他们从本机 js 调用它,因此他们需要手动更新对我不起作用的组件,因为我已经处于角度更新周期中):