私は現在、SPA を試しています。私の最初のアプリの構造は、Mikowski/Powell による近刊の本Single Page Web Applicationsで説明されているパターンにほぼ従っています。このアプリは、互いにネストされたモジュールで構成されています。1 つのルート モジュールには 1 つまたは複数のサブモジュールがあり、それぞれに 1 つまたは複数の独自のサブモジュールがある場合があります。サブモジュールを DOM に追加するために、親モジュールは (jQuery-) 要素を子に提供し、独自のマークアップを添付します。それ以外は、モジュールは多かれ少なかれ完全に分離されており、それらがどのように機能するかは、SPA の残りの部分にとって重要ではありません。各モジュールは独自のファイルに存在し、依存関係は require.js を使用して解決されます (ブックはそれらを手動でインポートします)。
今、ノックアウト js を使用していくつかのモジュールをレンダリングしたいと考えていますが、私は ko にかなり慣れていないので、疑問に思っています: トップレベルのモジュールにいくつかのサブモジュールが接続されていると想像してください。サブモジュールの1つはそうしますが、別のサブモジュールはそうしませんが、ノックアウト.jsを使用してバインディングを行います。もちろん、それぞれに独自のモデルデータがあります。
- 親と子 (それぞれのコンテナー要素に制限されています) に ko-bindings を適用すると、子のマークアップが実際に親のマークアップによって囲まれているときに何らかの形で干渉しますか?
- このような状況で、require.js の依存関係の解決をどのように実装しますか?
この問題をよく表している例として、「タブ付きパネル」があります。親には複数のタブがあり、現在表示されているタブを決定するためにノックアウトを使用します。各タブはそれ自体がモジュールであり、任意の複雑なマークアップ/機能自体を持つことができるため、独自のファイル/モジュールにカプセル化する必要があります。