本机 javascript class 未在 scalajs 中导出

Native javascript class not being exported in scalajs

在 ScalaJS 1.2.0 中,定义了以下 class:

@js.native
@JSGlobal
class ButtonProps(val title: String) extends js.Object

我预计 val props = new ButtonProps("foo") 会创建一个 javascript 实例(根据 the doc)。

但我得到的是 ButtonProps is not defined。知道为什么吗?

您使用 @js.native @JSGlobal 定义 ButtonProps 的方式告诉 Scala.js 它应该 而不是 定义 ButtonProps 本身,并且它应该从 JavaScript 全局范围获取 ButtonProps。这仅在某些 JavaScript 代码(例如,在库中)实际定义 class.

时才有意义

如果您打算在 Scala.js 代码中自己定义 ButtongProps,那么您应该删除 @js.native @JSGlobal 并只保留

class ButtonProps(title: String) extends js.Object