J'ai un scénario où je veux utiliser une liaison de données d'ajouter 2 nouveaux éléments pour chaque élément de données.
J'ai été à l'origine de faire quelque chose comme ceci:
var y = d3.selectAll("line")
.data([123, 456]);
y.enter().append("line"); // assume attr and style set
y.enter().append("line");
y.transition()...
Avant je pensais, je m'attendais à ce que la mise à jour de sélection utilisé dans ma période de transition permettrait de contenir la fusion ajoute de l'entrée de sélection. Mais bien sûr, cela ne fonctionne pas parce qu'il y a seulement 1 emplacement dans la sélection par l'élément de données.
J'ai donc modifié le code tel qu'il est toujours utilisé la même entrée() sélection deux fois puis resélectionnés pour les nouveaux éléments afin de faire la transition.
Cette approche a fonctionné, mais ma question est de savoir si cela est une bonne façon d'aborder les choses. Dois-je vérifier d'arrêter d'utiliser enter() après je ajouter/insérer? Ou est-ce OK de ne l'utiliser pour créer plusieurs éléments aussi longtemps que je me souviens que la mise à jour de la sélection ne comporte que les éléments créés dernier?
Si il fait tourner que c'est mal, ce qui est une meilleure façon d'atteindre cet objectif?