Dziedziczenie w łączeniach danych

Szybkie pytanie o łączenie danych. Powiedz, że mam kilka elementów, z których każdy zawiera. Kiedy początkowo łączę dane z, jest automatycznie dziedziczone przez elementy, które dołączam do wyboru wejścia.

Kiedy dane zostaną zmienione i powiążę je, spodziewałem się, że elementy będą odbierać nowe dane, ale tak się nie stało.

Aby sobie z tym poradzić, musiałem wyraźnie powiązać dane na niższym poziomie, jak poniżej:

<code>gElements.selectAll("circle")
    .data(function(d) { return [d]; }
    .enter().append("circle");
</code>

To obsługuje zarówno przypadek tworzenia, jak i późniejsze ponowne wiązanie. Wydaje się jednak, że jest to zbyteczne, ponieważ zwracanie [d] jest zasadniczo tym, co dzieje się automatycznie z początkowym dziedziczeniem danych z elementu macierzystego.

Czy to podejście jest właściwym sposobem na poradzenie sobie z tym, czy też gdzieś tu się mylę?

questionAnswers(1)

yourAnswerToTheQuestion