小编Han*_*pio的帖子

ngClick导致D3图表重绘

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

我正在使用一个非常基本的nvd3散点图angular-nvd3.

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

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

单击图表上的点

这是一个再现问题的plunker:

http://plnkr.co/edit/F0ZslBaisoHWIp0VcI8o

谢谢!

更新我把它缩小到angular-nvd3内的手表.不知何故,ngClick的存在导致'数据'发生变化.此行触发刷新:https://github.com/krispo/angular-nvd3/blob/master/dist/angular-nvd3.js#L328 我的代码中没有任何内容可以更改"数据"(也验证了对象是在指令之外的同一个实例),而我在angular-nvd3.js中看不到任何可以改变数据的东西......嗯......

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

controller.handleChartClick = function(event) {
};
Run Code Online (Sandbox Code Playgroud)

和HTML:

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

d3.js angularjs nvd3.js angular-nvd3

5
推荐指数
1
解决办法
1029
查看次数

标签 统计

angular-nvd3 ×1

angularjs ×1

d3.js ×1

nvd3.js ×1