在scala js中按下按钮时从网页获取数据

Fetching data from a webpage when a button is pressed in scala js

我想从我在 scala js 网页上的表单中的一些文本框中获取数据。我已经尝试使用 HTML'` onclick 事件,例如:

<button id="submit" type="button" onclick="TutorialApp().fun()">Submit</button>

并且我在我的 TutorialApp 对象中创建了一个函数,例如:

object TutorialApp extends JSApp {

@JSExport
def main(): Unit = {
   ..... 
}

def fun():Unit = {
 println("Button is clicked")
}    

但是显示错误,TutorialApp().fun() 不是一个函数。我的代码有什么问题?

它通过在 fun() 之前添加 @JSExport 来工作。我没有注意到。

作为替代方案,您可能希望在代码中注册 onclick 处理程序:

import org.scalajs.dom

def main(): Unit = {
  dom.document.getElementById("submit").addEventListener("click", fun _)
}

优点是您不需要导出 fun 并且获得编译时名称安全性(即,如果您重命名 fun,编译器会告诉您是否忘记在某处重命名).