我正在嘗試將d3腳本集成到gwt web-app中。但是我無法弄清楚如何從JSNI運行d3。 d3代碼獨立運行,我想知道這可能是因爲D3代碼無法訪問div元素?
這是我的以下方法:
+在主html文件頭中添加'script'標籤,指定d3庫
+將下面的d3代碼放在方法中,使用JSNI並調用方法在onModuleLoad()中。 d3代碼訪問rootPanel也使用的主要div元素。在使用JSNI的GWT應用程序中使用d3腳本
/*-{
var w = 960, h = 800;
var svg = d3.select("#chart2")
.append("svg:svg")
.attr("width", w)
.attr("height", h)
.append("svg:g")
.attr("transform", "translate(40, 0)");
svg.selectAll("circle")
.data([ 32, 57, 112, 293 ])
.enter()
.append("circle")
.attr("cy", 90)
.attr("cx", String)
.attr("r", Math.sqrt);
}-*/;
我也試過另一種方法;我在Java類的HTML元素中添加了另一個div元素,並嘗試從d3訪問第二個div。
在這兩種情況下都沒有顯示出來。任何想法如何可能工作嗎?
阿門到那。 @Ehsan請參考這個[關於覆蓋類型的參考](http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsOverlay.html),以獲得快速,少量的教程。 – 2012-03-22 21:45:46
非常感謝有用的信息。 我會按照評論和結果更新帖子。 – Ehsan 2012-03-23 18:43:15