我在一个我无法理解的问题上阻止了几个小时。
我有一个树形布局,如果一个节点有子节点并且有一个"子组件"属性,我想得到父节点。事实上,如果节点尊重我的两个条件,我想将它的孩子重新附加到他的父母身上并自行删除。
如果我有这个计划:
A --> B (subcomponent) --> C
--> D
我希望它呈现如下:
A --> C
--> D
要意识到这一点,我要重新定义子访问者(tree.children),如果节点尊重我的两个条件,它应该将他的孩子转移到他的父母并移除他自己。为此,我将访问节点设为父节点。
tree.children(function children(d) {
if("children" in d && "subcomponent" in d) {
console.log(d);
}
return d.children;
});
日志记录语句显示:http://cl.ly/image/3t1n2O1u3U0n所以看起来父字段存在,但我只能访问" name"," subcomponent"和#34;孩子"键。小时和小时我尝试访问父字段,因为它包含我需要的所有数据(例如parent.children字段..)
以下是一个工作示例:http://jsfiddle.net/LzqNK/1/背叛线靠近29-30,其中d是"服务A.1节点"我可以在哪里访问"服务A"节点,因为它是它的父节点。一旦我成为父节点,我的整个算法就可以在我的本地计算机上完成。
谢谢大家。