簡體   English   中英

使用MVP在GWT中的多級視圖中進行歷史記錄管理

[英]History mangement in multi-level view in gwt using mvp

我必須為例如創建多級視圖。 TopLevelView包含一系列水平放置的按鈕(用作菜單)。單擊buttonX-TopLevelView時,它會創建另一個View調用MiddleView,並將其追加到TopView的容器中。 類似的MiddleView與TopView具有相同的結構。 當我們單擊一個按鈕Y-MiddleView時,它將打開InnerLevel-View。

現在假設我們調用URL:127.0.0.1:7777/demoapp#innerLevel

我認為流程如下

偽代碼:

首先檢查appController歷史記錄Tokenizer中的字符串innerLevel。

if ( token.equals("innerLevel"){
    presenter = new TopLevelPresenter(eventBus,rpcService,new TopLevelView(),token);
    presenter.go();
}

現在,如果token.equals(“ innerLevel”),TopLevelPresenter的構造函數將通過事件來創建MiddleLevel

eventBus.fireEvent(MiddleLevelEvent);

MiddleLevelEvent應該包含較低級別的名稱。

再次在應用控制器中,我將檢查歷史記錄Tokenizer。

if ( token.equals("middleLevel"){
    presenter = new MiddleLevelPresenter(eventBus,rpcService,new MiddleLevelView(),**what to pass here**);
    presenter.go();
}

但是我感覺到我認為不好的方法。有人可以幫我說一下使用MVP在GWT應用程序中使用多級視圖的標准方法是什么。

第一次開始與地方合作時,我走的路與您相同,但很高興找到Thomas Broyer充分記錄的解決方案。 這個想法需要更多的代碼,但會使您的代碼更加簡潔和靈活。 您需要為顯示的不同區域創建多個ActivityMappers。 乍一看,這聽起來很復雜,但是一旦您嘗試了一下,您就會發現它幾乎可以在任何布局中很好地工作。 代幣概念是一個新穎的概念,但會讓您頭痛不已。

GWT 2.1活動–嵌套? 亞尼!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM