AbstractJavaScriptComponent客户端到服务器函数调用
我想从客户端javascript调用服务器端函数。我不太确定我做错了什么:AbstractJavaScriptComponent客户端到服务器函数调用,java,vaadin,Java,Vaadin,我想从客户端javascript调用服务器端函数。我不太确定我做错了什么: public class Test extends AbstractJavaScriptComponent { public Test() { addFunction("notifyServer", new JavaScriptFunction() { @Override public void call(JsonArray arguments) {
public class Test extends AbstractJavaScriptComponent {
public Test() {
addFunction("notifyServer", new JavaScriptFunction() {
@Override
public void call(JsonArray arguments) {
Notification.show("The client notified you!");
}
});
}
从Javascript connector.js我这样称呼它
function test(){
this.notifyServer();
notifyServer();
}
以上这些都不起作用。每次我都得到相同的stacktrace
未捕获类型错误:this.notifyServer不是函数
我解决了这个问题。我忘记了包装器的
此
仅在连接包装器的范围内可用。因此,为了调用函数,我必须这样做:
var serverObject;
window.demo_test_Test = function() {
serverObject = this;
}
function test(){
serverObject.notifyServer();
}