向Vaadin添加javascript函数

Adding javascript function to Vaadin

本文关键字:函数 javascript 添加 Vaadin      更新时间:2023-09-26

我想向vaadin添加一个javascript函数,以便在按下按钮时执行。到目前为止,我已经尝试了这两种方法。

String string = "function myFunction(p) {"
    +"alert(p);"
+"}"
JavaScript.getCurrent().execute(string);
JavaScript.getCurrent().execute("myFunction('Hello');");

String string = "function myFunction(p1, p2) {"
    +"alert(p);"
+"}"
+"myFunction('Hello');"
JavaScript.getCurrent().execute(string);

但是两种方式都没有成功的结果。

更新:我更改了代码,这样他们就会打印一些东西。这两个代码仍然不起作用。

您的代码不起作用,因为当您尝试调用myFunction时,它没有在任何地方注册

String string = "function myFunction(p) {"
    +"alert(p);"
+"}"
JavaScript.getCurrent().execute(string);

没有效果。要使用Vaadin在JavaScript中正确定义函数,需要将其分配给某个变量。这个简单的更改将使您的代码能够运行:

String string = "soReadyToHelp = function myFunction(p) {"
        +"alert(p);"
    +"}";
JavaScript.getCurrent().execute(string);
JavaScript.getCurrent().execute("soReadyToHelp('Hello');");

请注意,当集成Vaadin和JavaScript时,您可能会发现AbstractJavaScriptComponent很有用。