2

新しいWebAPIとKnockoutを使用して概念実証SPAを開始しました。これまでのところ、APIコントローラーを作成し、Knockoutで使用し、Knockoutマッピングを使用してエンティティと配列をマップしています。

現在、単純なCRUDを作成しようとしていますが、ViewModelの実装方法について頭を悩ませることはできません。

これまでのところ、以下にリストされている2つのオプションを考え出しました。

  • サーバー上で、エンティティの属性と同じエンティティの配列を含むViewModelを定義できます。CRUD機能に入ると、サーバーを呼び出し、エンティティリストと新しいエントリを作成するための属性を使用してそのViewModelを取得します。

  • 2つのViewModelを定義できます。1つはグリッドデータを使用し、もう1つはエンティティの属性を使用します。CRUD機能を呼び出すと、グリッドデータが取得され、新しいエントリを編集/作成するときに、サーバーを呼び出して、そのためのViewModelを取得します。

どちらのオプションでも、グリッド定義を含む1つのビューと、JQueryポップアップに表示する編集/作成フォーム形式を使用します。

どちらが最善の選択肢かわかりません。2番目の選択肢に傾倒し始めていますが、いくつかのガイダンスをいただければ幸いです。

前もって感謝します!

4

1 に答える 1

1

[作成/編集]ダイアログを起動した時点で本当にサーバーを呼び出す必要がありますか?たとえば、グリッドのバインディングソースとしてEntityVMのObservableArray(ノックアウトビューモデル)を使用できません。[新規追加]をクリックするか、既存のアイテムをクリックすると、[作成/編集]ダイアログが表示されます(データソースとして空のEntityVMを使用するか、グリッドソースのアイテムからコピーされた入力済みのEntityVMを使用しますか?次に、[保存]をクリックすると、エンティティをJSONとしてサーバーにAjaxし、更新されたグリッドデータを表すJSON応答を返しますか?それとも、それはあなたの文脈の正しい理解ではありませんか?

于 2012-10-21T22:45:00.440 に答える