向 Vaadin 添加 javascript 函数
Adding javascript function to 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);
但是两种方式都没有成功。
更新:
我更改了代码,以便他们打印一些东西。这两个代码仍然不起作用。
您的代码无效,因为当您尝试调用它时,您的 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 很有用。
我想向 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 很有用。