Как в Vaadin 12 вызвать метод JavaScript? - PullRequest
0 голосов
/ 02 апреля 2019

В моем проекте 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 Ответ

1 голос
/ 02 апреля 2019

Вы можете вызвать функцию JS myJavaScriptMethod() с помощью этого кода:

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

Вы можете найти документацию здесь
(как ни странно, эта документация показана только для vaadin версии 11, но в Vaadin 12 и 13 она все так же выполняется)

...