一些JavaScript函数采用的options参数可以在Scala.js中创建,如下所示:
js.Dynamic
.literal(
"onload" -> onloadHandler _,
"filename" -> s"myFileName.txt"
)
.asInstanceOf[BlobPropertyBag]
在一个API中,我可以调用一个函数以获取一些设置作为BlobPropertyBag(我认为是),但是需要更改或合并一些值,以后再使用设置。
是否可以使用这些值?将它们转换为String或JSON或Scala.js中可用的东西?
我应该在外观中使用其他类型来读取这些值吗?
答案 0 :(得分:0)
如果BlobPropertyBag
是用var
字段声明的,显然,您可以简单地分配其字段。但是,由于它是declared with def
s,所以您必须作弊:将其投射回js.Dynamic
才能更改其字段之一:
def foo(bag: BlobPropertyBag): Unit = {
val mutableBag = bag.asInstanceOf[js.Dynamic]
mutableBag.type = "another type"
// use `bag` afterwards
}