Durandal は ViewModels/View を初期読み込み中/事前に読み込みますか、それともオンデマンドで読み込みますか?
ビューごとに 100 ページ以上の非常に巨大な Web サイトがあり、各ビューにはかなり大きなビューモデルがあるとします。デュランダルはそれらすべてを前もってロードしますか?
各ビューのデータ呼び出しについてはどうですか?それらを事前にロードしている場合、それらはすべてトリガーされますか?
デュランダルの行動を理解しようとする
Durandal は ViewModels/View を初期読み込み中/事前に読み込みますか、それともオンデマンドで読み込みますか?
ビューごとに 100 ページ以上の非常に巨大な Web サイトがあり、各ビューにはかなり大きなビューモデルがあるとします。デュランダルはそれらすべてを前もってロードしますか?
各ビューのデータ呼び出しについてはどうですか?それらを事前にロードしている場合、それらはすべてトリガーされますか?
デュランダルの行動を理解しようとする
Durandal は必要に応じて (オンデマンドで) ビューとビューモデルを読み込みます。したがって、100 個のビューとビューモデルを使用する例では、使用するもののみをロードします。ブラウザ ツールの [ネットワーク] タブを見ると、それらが必要に応じて表示されることがわかります。
また、それらがローカルになると、ブラウザにキャッシュされます。これは良いことです。
ビューモデルが「アクティブ化」でデータ呼び出しを行う場合、はい、アクティブ化するたびに呼び出されます。ライフサイクル イベントの詳細については、Durandal のドキュメントを参照してください。
ただし、optimizer.exe を実行すると、それらすべてがパッケージ化され、最初に 1 ショット (縮小) でクライアントに表示されます。これは私が開発中に行うことではありません。ただし、ライブになった後にすべてを事前にロードしたい場合は、これがアプリ全体をローカルにする方法です。
100 回以上のビューを持つアプリの場合、1 回の使用で 100 回すべてのビューをヒットする人はほとんどいないため、おそらくロードします (私は推測しています)。アプリをどのように使用するかによって異なります。
私はデュランダルは初めてですが、これには2つのオプションがあると確信しています.
デフォルトであるオンデマンドでロードするか、すべてのアプリ ファイルを 1 つのパッケージに縮小するアプリとしてビルドすることができます。そのビルドステップの詳細についてはわかりませんが、おそらくそのアプローチを行えば、アプリ全体が 1 回でダウンロードされます。
各ビューのデータ呼び出しに関しては、通常、ビュー モデルのアクティブ化関数でそれらを開始します。したがって、ビューモデルがアクティブ化されたときにのみ発生し、完全に前もって発生するわけではありません。
したがって、あなたのシナリオでは、デュランダルは非常にうまく機能します。