backbone.js에서 뷰의 렌더링 함수는 나중에 DOM에 연결할 수있는 결합되지 않은 html을 생성합니다.d3.js 및 svgs를 사용하여 Backbone.js에서 렌더링
현재 svg를 추가하려면 HTML에 기존 타겟이 있어야합니다. 그런 다음 data/enter 패턴을 사용하여 svg에 요소를 삽입합니다. d3.js를 DOM에 연결하지 않고 svg를 생성하는 방법이 있습니까?
var svg = d3.select("#target").append('svg')
.attr("viewBox","0 0 100 100");
svg.selectAll("circle")
.data(data)
.enter().append("circle")
.attr("r", 10)
.style("fill", "black");
또는,에 재료를 추가하는 부착 DOM 요소와 D3를 제공 할 수있다? 이 같은? D3.js 문서는 노드를 받아 들일 수를 선택합니다 제안,하지만 나를 위해 작동하지 않습니다 다음 중 하나
var svg = d3.select(this.$el).append('svg') // Uncaught TypeError: Object [object Object] has no method 'appendChild'
.attr("viewBox","0 0 100 100");
svg.selectAll("circle")
.data([1,2,3])
.enter().append("circle")
.attr("r", 10)
.style("fill", "black");
d3.selectAll ([this.el])을 (를) 사용해 보셨습니까? D3은 jQuery 객체에 만족하지 않을 수도 있습니다. 실제 배열을 원할 수도 있습니다. –
나는 (시도하지 않았다) 노력했다. 그런데 d3이 Jquery 객체와 잘 작동한다는 것을 나타내는 d3 문서가 나와 있습니다. https://github.com/mbostock/d3/wiki/Selections#wiki-d3_select -> "이 메소드는 노드를 허용 할 수도 있습니다. 이는 jQuery 나 개발자 툴과 같은 타사 라이브러리와의 통합에 유용합니다." – kumikoda