【发布时间】:2017-01-05 22:35:36
【问题描述】:
我正在尝试将一些 d3.js 应用程序移植到 Scala.js,只是为了学习。但目前我有点卡住了。
JS:
var diagonal = d3.svg.diagonal()
.projection(function(d) { return [d.y, d.x]; });
如何将其转换为 scala.js?我知道我需要js.Function2[Node, Double, js.Tuple2[Double,Double],但我不知道如何制作它。
对于js.Function1,这很简单,就像这样:
private def test: (Event) => Unit = (e: dom.Event) => {
()
}
使用"org.singlespaced" %%% "scalajs-d3" % "0.3.3"
【问题讨论】:
-
"我知道我需要
js.Function2[Node, Double, js.Tuple2[Double,Double]" 你从哪里知道的?您是否为 d3.js 使用了一些特定的 Scala.js 库?projection的定义是什么?从 JS 代码来看,它在我看来更像是js.Function1[Point, js.Tuple2[Double, Double]]。如果你真的像你说的那样需要js.Function2,它应该有{ (node: Node, dbl: Double) => js.Tuple2(someX, someY) }的形式
标签: scala d3.js higher-order-functions scala.js