1

初めて大規模な Javascript Web アプリケーションを作成しようとしているときに、何をすべきかを概念的に理解するのに苦労しています。

ユーザーが選択したタブに応じて、コンテナー内に異なるコンテンツを表示します。コンテンツは単なるテキストではなく、さまざまな Javascript 関数とイベントを使用しています。Yahoo!を利用しています。UI ライブラリの「TabView」実装ですが、この問題を処理する方法は、おそらく他のタブ アプローチにも適用されるでしょう。

私が考えていたのは、基本的に次のことでした。

タブごとに個別のモジュールを作成します (例:MYAPP.modules.tabCalendarおよびMYAPP.modules.tabJournal)。ユーザーが別のタブをクリックすると (またはブラウザー ボタンで前のタブ状態に移動すると)、MYAPP.modules[oldModule].disable()andを呼び出すことができますMYAPP.modules[newModules].enable()。これらの関数は、カスタム イベントをサブスクライブまたはサブスクライブ解除します (たとえば、コンテナーにアタッチされた一般的なクリック ハンドラー)。

イベントを処理する別の方法として、単一のグローバル クリック ハンドラーを使用することがあります。クリックがコンテナ内にある場合は、現在選択されているタブを特定し、クリック イベントを に送信しますMYAPP.modules[currentTab].onClick()

または、グローバル クリック ハンドラーは、ページの読み込み後にモジュールがサブスクライブしたカスタム イベントを発生させることができ、各モジュールのonClickイベントが実行され、何かを行う必要があるかどうかが決定されます。

多くのオプションがあるようですが、このようなことを行うための最良の方法について説明しているリソースを見つけるのに苦労しています. 私は正しい道を進んでいますか?これをどのように処理すればよいですか?

4

2 に答える 2

1

私は問題について少しあいまいです。

  1. はい、コードをモジュール化する必要があります。
  2. 各モジュールで、それぞれのコンテナー内の要素にイベント ハンドラーをセットアップします。

それでおしまい。YUI TabView はタブの切り替えを処理するため、何も有効/無効にする必要はありません。

于 2009-03-03T22:59:29.353 に答える