我在一个实现这个类的类中有一个方法ValueChangeHandler<String>是从方法中初始化的,onModuleLoad()就像这样
mainController = new MainController();
History.addValueChangeHandler(mainController);
mainController.initialise(History.getToken());
该initialise()方法如下所示;
public void initialise(String initialToken) {
if (initialToken.equals("")) {
History.newItem(String.valueOf(HistoryTokens.MAIN_PAGE), true);
} else {
History.newItem(initialToken, true);
}
}
当应用程序以空白历史令牌启动时,即按下启动默认浏览器onValueChange()时,调用该方法,在应用程序运行时更改 url 调用该onValueChange()方法。
但是,在 URL 中带有标记的空白浏览器选项卡中输入 URL,即http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997#mjh&jdfhfh=786543,不会调用该onValueChange()方法。当我到达声明的History.newItem(initialToken, true);一部分时,我很困惑。if我认为这将确保onValueChange()被调用。怎么了?