我有这个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,但我不明白它为什么不运行。怎么了?感谢。
答案 0 :(得分:0)
将loadGrid
函数放在窗口上下文中:
window.loadGrid = function(){...}
否则从适当的对象容器中调用函数,例如:
window.myObject = {
loadGrid: function(){...}
}
private native void loadData() /*-{
$wnd.myObject.loadGrid()
}-*/;