AbstractJavaScriptComponent Client To Server函数调用

时间:2015-10-19 12:44:10

标签: java vaadin

我想从客户端javascript调用服务器端功能。我不太确定我在这里做错了什么:

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();
}

以上这些都不起作用。每次我得到相同的堆栈跟踪

  

未捕获的TypeError:this.notifyServer不是函数

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我忘了包装器的this仅在连接包装器的范围内可用。所以为了调用函数,我必须这样做:

var serverObject;

window.demo_test_Test = function() {

    serverObject = this;
}

function test(){
    serverObject.notifyServer();
}