我想從scala.js調用jquery-ui。我試圖修改jQuery庫的實現方式,但目前爲止沒有成功。所以,我已經定義了以下特性和包裝對象:在scala.js中實現jquery-ui
trait JQueryUI extends js.Object {
def apply(selector: String): JQueryUI = ???
val buttonset: js.Any = ???
}
package object jqueryui extends js.GlobalScope {
val jQueryUI: JQueryUI = ???
}
,然後添加一個JSApp如下:
object JQueryUIApp extends JSApp {
def main(): Unit = {
jqueryui.jQueryUI("#sports").buttonset
}
}
但我的JavaScript控制檯上,我得到以下錯誤:
TypeError: ScalaJS.g["jQueryUI"] is not a function (0, ScalaJS.g["jQueryUI"])("#sports")["buttonset"]
有人能告訴我我失蹤了什麼嗎?
工作完美。只需將「val buttonset」更改爲「def buttonset()」 – user79074 2015-01-21 13:59:23
是否可以將函數添加到特質JQueryStatic中。例如,要獲得像這樣的結果jQuery.someFunction()? – 2016-05-31 02:48:30
@AlexKarasev是的。使用完全相同的技術,但用'implicit def'中的'JQueryStatic'替換'JQuery'。該技術適用於任何JavaScript類型。 – sjrd 2016-05-31 09:53:41