在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
,编译器会告诉您是否忘记在某处重命名).
我想从我在 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
,编译器会告诉您是否忘记在某处重命名).