JQM と MVVM を使用しようとすると、いくつかの課題があります。また、knockout.js も使用しようとしています。
たとえば、現在、iOS ページ コントロールに似たナビゲーションを実装しようとしています (小さな点は、スワイプして次のページに移動できることを示しています)。
表示するデータはサーバーから取得され、JQM ページに表示される必要があります。したがって、JQM ページは動的に作成する必要があります。
UI の観点から、(ページ数に基づいて) ドットを含む固定フッターを使用する予定です。
問題は、ページごとにサーバーからデータをロードしたくないため、JQM ページ間で永続化する必要があるビューモデルにあります。データは一度にロードされ、クライアントがそれをページに表示することが期待されます。
データを保持し、アプリケーションの全期間にわたって機能するビュー モデルを作成し、各ページ ビューをそれにバインドするだけです。代わりに、ビューが実際に必要とする限り、ビューモデルを存続させたいと考えています。
私が考えている解決策は、jQueryMobile ページ ナビゲーション イベントをキャッチし、ナビゲーションがこれらのページ間にあるかどうかを確認することです。そうでない場合は、ビューモデルを削除する必要があります (null に割り当てます)。次回、これらのページのいずれかをロードする必要がある場合 (たとえば、最後のページに戻るなど)、ビュー モデルが再作成されます (データは Web サイトから再度フェッチされます)。
より良いアプローチはありますか?