次の答えが見つかりませんでした...アドバイスをお願いします。
ajaxリクエストを介してサーバーから取得されたメタデータに基づいて動的に構築されたフォームがあります。表示データ用に約20個の値を取得し、ユーザー入力用に約10個のフィールドも取得します。したがって、プレゼンテーションビューモデルとポストビューモデルは異なります。入力されたフィールドは、ajaxを介してポストバックされます。
ノックアウトビューモデルの概念を正しく適用するにはどうすればよいですか?
1.データを表示および投稿するための単一のビューモデルを作成します。この場合、AJAX呼び出しは多くの冗長データをサーバーにポストバックします。オプション:入力フィールドのみを含む新しいオブジェクトを送信できますが、KOの概念では問題ないように見えます。
2.ユーザー入力用のフィールドのみを含む単一のビューモデルを作成します。表示する読み取り専用フィールドは、KOビューモデルから外れ、一般的なjQueryメソッドを使用して入力されます(したがって、純粋なKOスタイルから再び外れます)
3。または?
私はあなたのアイデアに感謝します。
1113 次
1 に答える
2
Knockoutは、MVVMパターンをクライアント側(HTML5 / Javascript)アプリに適用する機能を提供します。JavaScriptビューモデルは、ユーザー入力フィールドと表示専用フィールドの両方で、担当する1つまたは複数のビューを操作するために必要なすべてのデータとプロパティを提供する必要があります。
サーバーに何かを投稿すると、MVVMの世界を離れ、別のレイヤーに到達して操作を実行することになります。結果として、サーバーがリクエストを完了するために必要なデータのみを含むJSONを作成するのが最善だと思います。サーバー側では、検証属性などを備えたC#モデルを使用している場合がありますが、ここでも、MVVMパターンに準拠しようとはしていません。
うまくいけば、これがお役に立てば幸いです。必要に応じて詳しく説明させていただきます。
于 2013-01-31T15:53:38.717 に答える