KnockoutJS を使い始めたばかりで、PagerJS、SammyJS、BootStrap と組み合わせて単一ページ アプリを構築していますが、今は少し迷っています。
私を驚かせたのは、ビューモデルを整理し、ルーティングとページをシンプルかつ再利用可能な方法で組み合わせるにはどうすればよいかということです。今のところ、実際にはほとんど収まらない緩いビットの山のように感じます. SOでいくつかの回答を確認しましたが、アプリを整理する方法をまだ理解していません。
現時点では、概念実証としてページに 1 つのビューモデルがあり、ユーザーの個人情報と今後のイベントの表示を処理するだけです。ただし、今は他のタイプの情報を組み込む必要があり、ユーザーが自分のイベント、連絡先、タスクを管理し、他のユーザー、イベントをリストできることが期待されるため、1 つのビューモデルではなく複数のビューモデルを持つのは適切ではないようです。とりわけ、タスク。まだまだ続きます。
ユーザーが選択するほとんどすべてのオプションは、データベースで定義されています。たとえば、ユーザー タスクと、これらのタスクを解決するための対応するアクションは、データベースで事前定義されています。
ほとんどの例では、SammyJS ルーティングをビューモデルに配置する傾向がありますが、ページに複数のビューモデルがある場合、SammyJS を単一のビューモデルから移動して、単一の場所でルートを編集したいと考えています。
私の考えでは、PagerJS を使用して異なるビューを簡単に切り替えることができますが、SammyJS で設定されたパスと PagerJS で使用されるデータ バインド パスとの間の同期が必要です。たとえば、#!/user を選択すると、Sammy のルーティングがリクエストを処理し、表示するデータをフェッチし、PagerJS がユーザー ページを表示します。私には少しもろい気がしますが、おそらくそれが機能するはずです。