たとえば、私の gwt-app は 2 つのビューで構成され、appController().goTo(place) を介してビュー 1 からビュー 2 に移動します。ClientFactory はビュー オブジェクトを保持します。
ClientFactoryImpl implements ClientFactory{
public View1 getView1(){
if(view1 == null){
view1 = new ViewImpl1();
}
return view1;
}
public View2 getView2(){
if(view2 == null){
view2 = new ViewImpl2();
}
return view2;
}
}
view1 のすべての dom 要素がブラウザーから消え、view2 の新しい dom 要素が読み込まれます。ビュー 2 で [戻る] ボタンを押すと、ビュー 1 に戻り、ビュー 1 は以前と同じ状態になります。私の質問は、view2 に移動した後、view1 で何が起こるかです。ボタン、リストなど、view1 のこれらすべての DOM 要素はどうなりますか。彼らはどこにいる?DOM 要素の作成にはコストがかかると書かれていますが、view1 に戻るときに、view1 の DOM 要素を DOM ブラウザに再度レンダリングする必要があります。ナビゲーション後にこれらすべてのウィジェット (DOM 要素の最後の部分) でバックグラウンドで何が起こるか、およびナビゲーションが戻った後にそれらがどのように DOM に戻るか。ClientFactory がビュー オブジェクトの新しいインスタンスを返すたびに、違いはどこにあるのでしょうか? 助けてください!
私の悪い英語で申し訳ありませんが、私の質問が明確であることを願っています.