Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可折叠树布局中的d3js路径生成器_Javascript_Dom_Svg_D3.js - Fatal编程技术网

Javascript 可折叠树布局中的d3js路径生成器

Javascript 可折叠树布局中的d3js路径生成器,javascript,dom,svg,d3.js,Javascript,Dom,Svg,D3.js,我一直在学习d3js,有一个问题我在网上几乎找不到一个好的参考: 在此演示代码中: 可折叠树 我在下面发现snip对节点的折叠/扩展行为至关重要: // Update the links… var link = svg.selectAll("path.link") .data(links, function(d) { return d.target.id; }); 有人能解释一下为什么数据必须在这里设置d.target.id吗?或者如果有人可以将我重定向到解释的参考,非常感谢。da

我一直在学习d3js,有一个问题我在网上几乎找不到一个好的参考:

在此演示代码中:

可折叠树

我在下面发现snip对节点的折叠/扩展行为至关重要:

  // Update the links…
  var link = svg.selectAll("path.link")
  .data(links, function(d) { return d.target.id; });

有人能解释一下为什么数据必须在这里设置d.target.id吗?或者如果有人可以将我重定向到解释的参考,非常感谢。

data()的第二个参数是告诉D3如何将数据元素与DOM元素匹配的函数。默认情况下,它通过索引来实现这一点,即第一个数据项匹配第一个DOM元素,第二个匹配第二个,依此类推。在这种情况下,这不起作用,因为需要在目标ID(或唯一标识链接的类似内容)上匹配数据


有关更多信息,请参阅。

嗨,拉尔斯,再次感谢您的帮助=)