私は現在、特にangularjsを使用したHTMLテンプレートへのクライアント側モデルのバインディングを検討しています。サーバーからクライアント側のビューモデルを取得するための最良の戦略は何か、たとえば、編集用のデータだけでなく、選択リストやドロップダウンリストなどのデータも含むビューモデル.
私が見ているように、いくつかのオプションがあります
- ビューモデルに必要なすべてのデータを含む、Web APIなどを使用してサーバーから1つのビューモデルを取得します
- クライアント側のビューモデルをサーバー側のhtml内のjavascriptにレンダリングします
- 複数の Web API 呼び出しを使用してビューモデルのデータを取得します。たとえば、編集するメイン データ用に 1 つと、追加データごとに 1 つ (選択リスト)。
オプション 1 の例はあまり見当たりませんでした。Web API は主に、Person や Order などの 1 つのタイプのオブジェクトの特定のデータを返す crud 操作に使用されているようです。
オプション 2 は、asp.net mvc を使用したサーバー側ビュー モデルのプラクティスに準拠していますが、この手法を angularjs と組み合わせて使用する例はあまり見たことがありません。
オプション 3 は、懸念事項の分離を考慮するときれいに見えますが、複数の小さな ajax リクエストがあるという欠点があります。
あなたの考えや経験を共有していただけますか?