インタラクティブなフォームやその他の種類の Web ページを作成する場合、knockoutjs にはいくつかのオプションがあります。厳密に型指定されたビューを作成し、コントローラーからモデルを渡すことができます。一方、単純な古い html ドキュメントから簡単に開始し、初期ロード後にアクション メソッド (JsonResult など) を呼び出して初期化することもできます。
また、ページを MVC ビューとして開始するときは、HtmlHelpers をプレーンな古い html マークアップと共に使用して、ビューを初期化できます。もう 1 つのオプションは、モデルの状態を json として隠しフィールドにシリアル化し、それを使用してビューを初期化することです。
私の経験では、最初のロード中に ko でビューを初期化すると遅延が発生する可能性があります。シリアル化された非表示フィールドから json を渡してビューモデルを構築する場合でも、それに依存してさまざまなサービスを呼び出してデータをロードする場合でも、ページが「準備完了」になるまでに少し時間がかかります。この種の遅延は、HtmlHelpers などを使用してページを初期化することで回避できますが、そのような初期化には追加のコストが発生する可能性もあります (コントローラーの追加の初期化ロジック、ビューのデフォルト コンテンツなど)。
ページを初期化する方法として最も MVVM が多いのはどれですか? ビューで HtmlHelpers を使用すること、または cshtml を使用することは悪い考えですか? そうでない場合、ビューとビューモデルの間の線をどこに引きますか?