使用D3和Elm一起使用端口是否可管理?我嘗試了榆樹,但我找不到任何使用包含API的Elm的例子。我碰到的問題是wrapper和叉子不能用0.18工作。我還看到很多聲明表明,圍繞JavaScript API構建API是不好的做法,相反,您應該使用端口。但是,我找不到D3的任何例子。我發現this example,但D3部分全部都是用純javascript完成的,但並不適合。在Elm中使用D3
我可能是太過侵略性地拿着D3立刻與榆樹打成一片,但那真的是我想要做的。如果用榆樹不適合使用D3,我現在可能不會爲此而煩惱。這種互動是否存在根本性問題?或者僅僅是對Elm社區中的D3缺乏興趣,或者我只是錯過了一些東西?
例如,利用這個代碼從上面的例子bl.ocks撕開:
var t = d3.transition().duration(750);
var g = d3.select("svg g")
// JOIN new data with old elements.
var text = g.selectAll("text")
.data(data, function(d) { return d; });
// ENTER new elements present in new data.
text.enter().append("text")
.attr("class", "enter")
.attr("dy", ".35em")
.attr("y", -60)
.attr("x", function(d, i) { return i * 24; })
.style("fill-opacity", 1e-6)
.text(function(d) { return d; })
.transition(t)
.attr("y", 0)
.style("fill-opacity", 1);
是否有一個簡單的翻譯成榆樹對於這種事情?
下面是用端口和一個大JS庫(谷歌地圖)工作的HTTP的例子://simonh1000.github .io/2016/12/elm-ports-google-maps /它可能會幫助你 –
@SimonH感謝您的協助。我已經看過這樣的一些東西,但是我奮鬥的地方是d3使用了很多方法引用。你需要傳遞函數並調用返回函數的函數(也是對象)。我對Elm如何做到這一點很無能,所以我希望能找到一個可行的(簡單的)例子。 – JimmyJames
你能否提供你必須通過這個端口的代碼示例。擴展你的問題,以顯示你想從Elm D3訪問什麼功能 –