我正在使用Chrome开发工具来逐步浏览我的GWT MVP应用,因为它使用超级开发模式呈现视图。
在开发人员工具中,我正在逐步执行我的方法的源映射java代码。 我可以突出显示变量,右键单击和“在控制台中评估”以检查我的本地范围变量的状态。
我想和班级成员做同样的事情。 它适用于公共方法。在私有方法中,评估类成员会导致“ReferenceError:未定义”。响应。
我尝试用“this.myPanel”注释我的班级成员。响应是一个简单的“未定义”。除了'this'引用Window [0]
答案 0 :(得分:1)
尝试使用this$static
它是持有成员和实例状态的对象,作为参数传递给以前是类成员的函数,但GWT将它们编译为常规js函数
GWT会将静态函数转换为函数(不在js中的任何对象下)
public class SomeEntry implements EntryPoint {
public static String Moo() {
String href = Window.Location.getHref();
return href.substring(5, 10);
}
public static String Moo(String x) {
String href = Window.Location.getHref();
return href.substring(5, 10);
}
public void onModuleLoad() {
Window.alert(Moo());
Window.alert(Moo("asd"));
}
}
将编译为:
function Moo(){
var href_0;
href_0 = getHref();
return $substring_0(href_0, 5, 10);
}
function Moo_0(){
var href_0;
href_0 = getHref();
return $substring_0(href_0, 5, 10);
}
因此,在编译时解决的重载将在JS中起作用。这样做的好处是不需要使用点运算符进行推荐。每个点都是一个新的查找。