Jak utworzyć obiekt „svg” bez dołączania go?
Rozważ następujący kod:
var svg = d3.select('#somediv').append("svg").attr("width", w).attr("height", h);
Chciałbym zmienić ten kod tak, aby brzmiał bardziej tak:
var svg = makesvg(w, h);
d3.select("#somediv").append(svg);
Zauważ, że w przeciwieństwie do sytuacji pokazanej w pierwszej wersji, w tej drugiej wersjiappend
nie tworzy obiekt „svg”; to tylko do niego dołączad3.select("#somediv")
.
Problem polega na tym, jak zaimplementować tę funkcjęmakesvg
. To z kolei ogranicza się do problemu: jak utworzyć instancję obiektu „svg” bez użyciaappend
aby to zrobić, ponieważ można wtedy zrobić coś takiego:
function makesvg(width, height) {
return _makesvg().attr("width", w).attr("height", h);
}
Moje pytanie sprowadza się do tego, co jest ogólnym odpowiednikiem hipotetycznego_makesvg()
wspomniana fabryka?