将javascript函数添加到Vaadin

时间:2015-12-07 21:29:54

标签: javascript vaadin

我想在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);

但两种方式都没有成功结束。

更新: 我更改了代码,以便打印一些东西。这两个代码仍然不起作用。

1 个答案:

答案 0 :(得分:3)

您的代码无效,因为当您尝试调用myFunction时,String string = "function myFunction(p) {" +"alert(p);" +"}" JavaScript.getCurrent().execute(string); 未在任何地方注册。我的意思是你的代码:

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

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

{{1}}

请注意,在整合Vaadin和JavaScript时,您可能会发现AbstractJavaScriptComponent很有用。