如何链接Javascript和GWT来传递参数



我有这个GWT代码:

Button button = new Button("Search");
                button.addClickHandler(new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        loadData();
                    }
                });
...
    private native void loadData()  /*-{
        $wnd.loadGrid();
    }-*/;

和下面的Javascript代码:

...
loadGrid : function (){ 
            alert("Testing JSNI");
        },
...

它不工作,错误是:

Uncaught com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) : undefined is not a function

这是一个示例代码,因为我的目标是将参数从js传递到GWT,但我不明白为什么它不运行。怎么了?谢谢。

loadGrid函数放在窗口上下文中:

window.loadGrid = function(){...}

否则从相应的对象容器中调用函数,例如:

window.myObject = {
   loadGrid: function(){...}
}
private native void loadData() /*-{
   $wnd.myObject.loadGrid()
}-*/;

最新更新