这个问题是与How to export properties of shared case classes我怎么能阶序列导出到js.Array的情况下,类
相关万一我有一个案例类的形式
case class Foo(var id : Long,var title: Seq[String])
的问题,也就是说,它包含一个序列的数据,是否有任何设置要导出为js.Array
?
这个问题是与How to export properties of shared case classes我怎么能阶序列导出到js.Array的情况下,类
相关万一我有一个案例类的形式
case class Foo(var id : Long,var title: Seq[String])
的问题,也就是说,它包含一个序列的数据,是否有任何设置要导出为js.Array
?
我一般upickle使用,我绕到方式是通过在共享项目中 即
case class Foo[S[_]](var id : Long, var title: S[String])
Scala的JVM
我腌的情况下类作为形式的对象使用泛型
Foo(id, Seq(title1, title2, ...))
它是Foo[Seq]
类型的对象和在阶JS我酸洗对象作为 Foo[js.Array]
。
在Scala.js-唯一项目,一个只会做到以下几点:
case class Foo(var id: Long, var title: Seq[String]) {
@JSExport("title")
protected def jsTitle: js.Array[String] =
title.toJSArray
@JSExport("title")
protected def jsTitle_=(v: js.Array[string]): Unit =
title = v.toSeq
}
然而,这将拒绝共享源编译,因为Scala/JVM不知道js.Array
。
恐怕没有可以解决您问题的免费样板解决方案。最简单的解决方案是在项目的JVM和JS部分分别声明Foo
。然后您仍然可以从共享源使用它。