在树可视化的各种示例中,例如此collapsible tree示例,使用了语法d._children = d.children;
。例如,在上面示例的代码块中:
// Toggle children on click.
function click(d) {
if (d.children) {
d._children = d.children;
d.children = null;
} else {
d.children = d._children;
d._children = null;
}
update(d);
}
语法d._children
的确切含义是什么?对我来说,目前尚不清楚
这是定义的,如果它是d3.js特定的或JavaScript语法。
欢迎任何涉及此类方案的树遍历教程的提示!
答案 0 :(得分:26)
_children
只是一个临时变量,用于在隐藏子项时保存它们。单击时,要么将children
置为null并将子项存储在temp变量中,要么children
已为空,请从temp变量中加载它们。
可以使用任何临时变量。 _children
没有什么特别之处。它用于显示与children
的明显关系。
答案 1 :(得分:0)
我只是通过下面的示例对此进行测试,发现如果我用其他任何内容替换单词children
,则无法正确加载树。我相信孩子是必需的关键词。 https://bl.ocks.org/mbostock/4339083
我刚验证了这一点。要使用其他关键字定义子项,您必须使用tree.children()
函数,如下所示:
tree.children(function(d){
return d.dependencies;
});