我对GWT的历史机制找到的例子有些困惑。GWT历史记录 - 州/州是否创建历史或历史结果?
寻找并运行示例GWT History它似乎不是很好。
历史常常被解释为由应用程序中的更改导致的结果。
的例子有多个问题:
初始状态,以及空令牌和令牌“页0/0”
- >“历史记录”回到显示在同一页面两次离开前”应用程序“
历史和状态在某种程度上是间接同步的。
- 选项卡选项会导致一个选择事件,该事件设置一个新的令牌。设置令牌导致 历史值更改,再次选择相同的选项卡(?)。这种模式是一种心灵扭曲。
难道是错的来看看从另一个角度看这个问题?
我认为总是根据历史记号改变状态要容易得多。
在这种情况下,ValueChange
将执行“状态呈现”。要改变状态的按钮不会直接执行,而是使用History.newItem()
方法,并使用valueChange
方法间接更改状态。
例如
public void onValueChange(ValueChangeEvent<String> event) {
String token = event.getValue();
if(token.isEmpty()){
show("welcome");
}else if(token.equals("registration")){
show(token);
}
}
这要显示的注册按钮:
welcome = new Button("Registration", new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
History.newItem("registration");
}
});
这在某种程度上利用历史来驱动应用的状态。
这是怎么回事,为什么到处都是这样?