D3.js enter()data()remove()exit()

时间:2019-02-13 12:51:21

标签: javascript d3.js save nodes children

我已经阅读了bl.ocks文档,并尽了最大的努力来保存d3树中使用的数据。

我正在使用此as my base code,现在它是SQL驱动的。

我已经在“ Coderino”的帮助下创建了代码,该代码遍历每个节点并返回其父子关系(请参见下文)

d3.selectAll('g.node')

.each(function(p){
p.children.map(function(c) {        
    alert( c.name +"("+ c.id+")"+ "- PARENT TO -" + p.name + "(" + p.id +")" )

     });    
});

但是,当我删除或添加节点时,它没有将其注册到children.map中。

我试图插入node.exit()。remove(); link.exit()。remove();到更新节点的代码中,似乎也没有影响。

有人知道我是否可以调用一个简单的函数然后运行循环,我必须包含新节点?

但是,如果我运行此循环

d3.selectAll('g.node')

.each(function(p){
    alert( p.name  )

});

它会看到新名称-也许需要以某种方式刷新的p.children.map吗? (我将如何实现!!)

进一步的测试表明,如果,您将附加到主节点(节点1)的函数将读取新节点,但是附加到任何子节点将不会看到它们...

感谢您阅读本文档和任何帮助,非常感谢您发表评论。

0 个答案:

没有答案
相关问题