2016-12-06 44 views
0

我对Scala.js(v0.6.13)使用HighCharts外观,并且难以在我的统计图上配置十字线。这是我的理解是,当我看到的Scala.js联合类型声明:Scala.js工会类型

val crosshair: UndefOr[|[Boolean, CleanJsObject[YAxisCrosshair]]] 

的十字线可以是一个布尔或YAxisCrosshair?

如果是我的声明与十字线设置为true正确编译:

override val yAxis: Cfg[YAxis] = YAxis(
    gridLineWidth = 0, 
    minorGridLineWidth = 0, 
    opposite = false, 
    labels = YAxisLabels(
    align = "right", 
    format = "{value:.8f}" 
), 
    crosshair = true 
) 

但是,当我设置的十字线的YAxisCrosshair我的项目不编译。

override val yAxis: Cfg[YAxis] = YAxis(
    gridLineWidth = 0, 
    minorGridLineWidth = 0, 
    opposite = false, 
    labels = YAxisLabels(
    align = "right", 
    format = "{value:.8f}" 
), 
    crosshair = YAxisCrosshair(
    snap = false, 
    label = YAxisCrosshairLabel(
     format = "{value:.8f}" 
    ) 
) 
) 

后来导致:

type mismatch; 
    found : com.highstock.config.YAxisCrosshair 
    required: scala.scalajs.js.UndefOr[scala.scalajs.js.|  [Boolean,com.highcharts.CleanJsObject[com.highstock.config.YAxisCrosshair]]] 

缺少什么我在这里?

回答

1

我想我找到了答案。这是需要做的:

override val yAxis: Cfg[YAxis] = YAxis(
    gridLineWidth = 0, 
    minorGridLineWidth = 0, 
    opposite = false, 
    labels = YAxisLabels(
    align = "right", 
    format = "{value:.8f}" 
), 
    crosshair = YAxisCrosshair(
    snap = false, 
    label = YAxisCrosshairLabel(
     format = "{value:.8f}" 
    ) 
): CleanJsObject[YAxisCrosshair] 
) 
+0

你可能想要突出显示':CleanJSObject [YAxisCrosshair]'某事;)但是,这是需要做的。 – gzm0