私はすべてのビューのヘッダである共有GWTウィジェット "HeaderView"を持っています。私はそのようにように私の意見の中に注入することができ注射後にDOMからGWTシングルトンウィジェットが削除される
bind(HeaderView.class).asEagerSingleton();
- -
@Inject
public DashboardViewImpl(HeaderView headerView) {
this.headerView = headerView;
initWidget(dashboardViewUiBinder.createAndBindUi(this));
}
これは、ビューが表示されて初めて正常に動作します私は経由GINを通してそれをインスタンス化します。ただし、場所を変更して、「HeaderView」が表示されなくなったら、既に表示されているビューに戻ります。 HTMLを検査すると、DOMにはもはや関連付けられていないことが示されます。
私の見解は、シングルトンとしてバインドされている - 私はHeaderViewは、単一の親を持つことが許されているウィジェットのために、次のページをロードした後、DOMから削除されていることを想定しています
bind(DashboardView.class).to(DashboardViewImpl.class).in(Singleton.class);
。
GWTアプリケーションのすべてのビュー間でウィジェットを共有する正しい方法はありますか?