d3将数据绑定到组似乎在创建后不会传播

时间:2014-12-15 20:06:17

标签: d3.js

我的理解是,组中的绑定数据具有将数据传播到组中所有元素的效果

我注意到,当我将数据绑定到一个组时,我追加的所有元素也会获取数据。但是,如果我更新数据并重新绑定到组,则新数据不会传播到组中的元素。

例如,在更改dataLegend并执行此操作时

var g = legend.selectAll("g")
  .data(dataLegend);

g.selectAll("text")
.text(function(d) { 
return d.term; })

text元素似乎没有改变它的值。

任何人都可以给我任何评论,看看这是否有意义?

1 个答案:

答案 0 :(得分:2)

在D3中传播绑定数据的操作是.append().insert().select().selectAll() 传播数据。如果每个text元素下只有一个g元素,则可以使用.select(),这也会更新绑定数据。否则,您必须自己绑定更新的数据。