Schnelle Frage zum Datenbeitritt. Angenommen, ich habe einige Elemente, die jeweils ein enthalten. Wenn ich die Daten anfänglich an die Daten anschließe, werden sie automatisch von den Elementen übernommen, die ich an die Eingabeauswahl angehängt habe.Vererbung in Daten Joins
Wenn die Daten geändert werden und ich es neu binden, erwartete ich, dass die Elemente die neuen Daten aufnehmen würden, aber das ist nicht passiert.
Um dies zu handhaben ich die Daten auf der unteren Ebene wie dies ausdrücklich rebind benötigt:
gElements.selectAll("circle")
.data(function(d) { return [d]; }
.enter().append("circle");
Diese Griffe sowohl die Schaffung Fall und die anschließende rebind. Aber es scheint irgendwie redundant zu sein, da das Zurückgeben von [d] im Wesentlichen automatisch mit der anfänglichen Vererbung von Daten von dem Elternelement geschieht.
Ist dieser Ansatz der richtige Weg, um damit umzugehen, oder bin ich irgendwo hier verwirrt?
Ja, Sie haben Recht, ich habe nur 1 Kreis pro. Ich habe nicht bemerkt, dass die Auswahl die Datenvererbung verursacht hat, aber das sehe ich in der Dokumentation. Ich finde dies ein wenig kontraintuitiv, da ich immer daran gedacht habe, den Vorgang als schreibgeschützten Vorgang auszuwählen, aber dieser eine Fall bewirkt, dass der Knoten tatsächlich geändert wird. –