2

Places を介してプロジェクトの履歴を管理しています。

私がすることはこれです:

  • 最上位に PlaceRequestHandler を実装します (AppController など)。
  • 登録 -> eventBus.addHandler(PlaceRequestEvent.getType(), this);
  • プロジェクトナビゲーションを行うメソッド「onPlaceRequest」を実装します。

私は GWT プレゼンターを使用しており、プロジェクト内のすべてのプレゼンターがonPlaceRequestメソッドをオーバーライドしています。

すべてのリクエストがトップレベルの「onPlaceRequest」メソッドから処理されるのに、なぜこれが必要なのですか?

例を挙げます:

public class AppController implements Presenter, PlaceRequestHandler
...........
public void bind()
{
  eventBus.addHandler(PlaceRequestEvent.getType(), this);
...
}
public void onPlaceRequest(PlaceRequestEvent event)
{
// here is the project navigation tree
} 

発表者を 1 人選びましょう

public class SomePresenter extends Presenter<SomePresenter.Display>
{
... here some methods are overriden and 

@Override
protected void onPlaceRequest(PlaceRequest request)
{
// what should I do here? 
}
}

アイデアは何ですか、そしてそれをどのように使用するべきですか?

4

1 に答える 1

2

すべてのプレゼンターに PlaceRequestHandlerこれらのイベントを自分で拡張して管理 させる代わりに、イベントバスにPlaceHistoryHandlerとを接続することができます。PlaceController一緒に、彼らはあなたのためにブラウザの歴史とあなたの場所を管理します。別の場所にgoTo()するように依頼するPlaceControllerと、現在のアクティビティが停止し、場所からアクティビティ(プレゼンター)へのマッピングを使用して、次に開始する場所を選択します。

この手法を使用するには、プレゼンターを拡張する必要がありますAbstractActivityアクティビティと場所を使用したGWT開発と呼ばれるGWTのドキュメントにあるGoogleのチュートリアルをフォローしてみてください。

于 2011-08-27T16:08:14.043 に答える