好吧,我很困惑GWTP中的「onBind」,「preparedFromRequest」,「onReveal」,「onReset」。我不知道在什麼情況下調用這些方法。任何人都可以解釋在GWTP中的「onBind」,「preparedFromRequest」,「onReveal」,「onReset」之間的行爲和區別嗎?
好吧,我得到Page1Presenter.java
(tokenName:page1
)具有以下代碼:
@Override
protected void onBind(){
System.out.println("on bind");
}
@Override
protected void prepareFromRequest(PlaceRequest request){
System.out.println("prepared from request");
}
@Override
protected void onReveal(){
System.out.println("on reveal");
}
@Override
protected void onReset(){
System.out.println("on reset");
}
現在,我在瀏覽器中打開第一頁,網址:abc.com/#page1;param=1
,然後打印出:
on bind prepared from request on reveal on reset
然後,我去abc.com/#page2
&然後按回來按鈕,現在它打印出來:
prepared from request on reset
然後,更改參數不&進入abc.com/#page1;param=2
,它會顯示:
prepared from request on reset
然後,我點擊其他瀏覽器選項卡&點擊返回包含URL abc.com/#page1;param=2
選項卡,然後什麼都沒有發生。我預計將會調用onReveal
。
此外,System.out.println();
是太簡單了,所以我們不能看到preparedFromRequest
& onReset
之間的差異。
如果我們有很多複雜的代碼&如果我們把這些代碼在preparedFromRequest
,將其不同的表現,如果投入onReset
?
&它們在不同的瀏覽器中表現相同嗎?
p是可見的。何時&在哪種情況下p可見?像你最小化瀏覽器? – Kiti