这是一个非常奇怪的问题。我有一个D3树布局,当节点通过AJAX加载子节点时(当它们的状态设置为'loading'时),节点需要更改它们的背景和文本。
由于某些原因,除了根节点之外的所有节点都可以正常工作,因为root确实更改了它的文本,但没有更改它的背景。将节点的状态设置为“正在加载”后,Chrome调试器会显示以下内容:
但接下来:
不知何故,在相同的更新周期中,D3为同一变量赋予了更新函数两个不同的值。另请注意,节点的dbId(其唯一ID)在两种情况下都是相同的,因此它不是一个不同的节点。
D3如何将旧数据传递给其更新功能?
如果有帮助,则完整的D3代码为here。