在我的Vaadin 12项目中:
import com.vaadin.flow.component.dependency.HtmlImport
import com.vaadin.flow.component.dependency.JavaScript
import com.vaadin.flow.component.dependency.StyleSheet
import com.vaadin.flow.component.html.Div
import com.vaadin.flow.component.page.BodySize
import com.vaadin.flow.component.page.Page
import com.vaadin.flow.router.Route
import com.vaadin.flow.server.VaadinRequest
import org.slf4j.LoggerFactory
@Route(value = "myform")
@JavaScript("https://somejavascript.js")
class MyForm : Div() {
private val logger = LoggerFactory.getLogger(this::class.java)
init {
val request = VaadinRequest.getCurrent()
val myparam= request.getParameter("myparam")
logger.info("myparam = $myparam")
}
}
如您所见,我通过注释导入脚本:somejavascript.js
。
真好
该脚本具有方法:myJavaScriptMethod
如何在Vaadin类MyForm
中调用此方法?
答案 0 :(得分:1)
您可以使用以下代码调用JS函数myJavaScriptMethod()
:
UI.getCurrent().getPage().executeJavaScript("myJavaScriptMethod();");
您可以找到文档here
(奇怪的是,此文档仅在vaadin版本11中显示,但在Vaadin 12和13中仍以相同的方式进行操作)