Gwt 调试类成员-引用错误:未定义myPanel

Gwt 调试类成员-引用错误:未定义myPanel,gwt,gwt-super-dev-mode,Gwt,Gwt Super Dev Mode,我正在使用Chrome开发工具逐步浏览我的GWT MVP应用程序,因为它使用超级开发模式呈现视图 在开发工具中,我正在逐步执行执行我的方法的源映射java代码。 我可以突出显示变量、右键单击和“在控制台中求值”来检查本地范围变量的状态 我想和我的同学们做同样的事情。 它以公开的方式工作。在私有方法中,对类成员求值会导致“ReferenceError:未定义”响应 我试着用“this.myPanel”注释我的班级成员。回答是一个简单的“未定义”。此外,“this”正在引用窗口[0]尝试使用此$st

我正在使用Chrome开发工具逐步浏览我的GWT MVP应用程序,因为它使用超级开发模式呈现视图

在开发工具中,我正在逐步执行执行我的方法的源映射java代码。 我可以突出显示变量、右键单击和“在控制台中求值”来检查本地范围变量的状态

我想和我的同学们做同样的事情。 它以公开的方式工作。在私有方法中,对类成员求值会导致“ReferenceError:未定义”响应


我试着用“this.myPanel”注释我的班级成员。回答是一个简单的“未定义”。此外,“this”正在引用窗口[0]

尝试使用
此$static
该对象包含作为参数传递给函数的实例的成员和状态,这些函数以前是类成员,但GWT将它们编译为常规js函数

静态成员 GWT将静态函数转换为函数(不在js中的任何对象下)

public类SomeEntry实现入口点{
公共静态字符串Moo(){
String href=Window.Location.getHref();
return href.substring(5,10);
}
公共静态字符串Moo(字符串x){
String href=Window.Location.getHref();
return href.substring(5,10);
}
moduleload()上的公共void{
Window.alert(Moo());
窗口警报(Moo(“asd”);
}
}
将汇编为:

函数Moo(){
var href_0;
href_0=getHref();
返回$substring_0(href_0,5,10);
}
函数Moo_0(){
var href_0;
href_0=getHref();
返回$substring_0(href_0,5,10);
}

因此,在编译时解决的重载将在JS中工作。这样做的好处是不需要使用点运算符进行转诊。每个点都是一个新的查找。

感谢您提供此$static。用于引用私有方法中的成员。您知道如何访问静态类变量吗?静态可能会转换为无名称空间(在闭包范围内),以通过不使用“名称空间”(点运算符)来提高性能。但我无法证实。这只是猜测。