ngClick导致D3图表重绘

时间:2015-08-20 21:18:42

标签: angularjs d3.js nvd3.js angular-nvd3

每当我点击其中一个点时,它就会导致图表更新。只有在ngClick元素上有<nvd3>指令时才会发生这种情况(即使侦听器函数什么也不做)。如果我删除ngClick,一切都很好。

我使用非常基本的nvd3散点图与angular-nvd3

什么可能导致这种奇怪的互动?

(此录制的帧速率较低,因此很难看到,但每次点击都会重新绘制图表,包括顶部的图表)

Clicking points on a graph

这是一个重现问题的掠夺者:

http://plnkr.co/edit/F0ZslBaisoHWIp0VcI8o

谢谢!

更新我已将它缩小到angular-nvd3内的手表。某种程度上,ngClick的存在导致了数据&#39;改变。 此行触发刷新:https://github.com/krispo/angular-nvd3/blob/master/dist/angular-nvd3.js#L328 我的代码中没有任何内容可以更改&#39;数据&#39; (还验证了对象是指令之外的同一个实例),而且我在angular-nvd3.js中看不到任何可以改变数据的东西......嗯......

更新 这是我的点击事件监听器(它是空的):

controller.handleChartClick = function(event) {
};

和html:

<div class="col-sm-10">
    <nvd3 ng-click="observationsCharts.handleChartClick($event)"
              options="observationsCharts.scatterPlotChartOptions"
              data="observationsCharts.scatterPlotChartData"></nvd3>
</div>

0 个答案:

没有答案