在Vaadin 12中如何调用JavaScript的方法?

时间:2019-04-02 13:53:07

标签: vaadin-flow vaadin12

在我的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中调用此方法?

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码调用JS函数myJavaScriptMethod()

UI.getCurrent().getPage().executeJavaScript("myJavaScriptMethod();");

您可以找到文档here
(奇怪的是,此文档仅在vaadin版本11中显示,但在Vaadin 12和13中仍以相同的方式进行操作)