8

KOのModelとViewModelの違いを理解しようとしています。概念の違いは理解できますが、KOのすべてのモデルがViewModelになるか、ViewModelになる候補になるようです。説明します:

シートの行を含むテーブルがあるとします。メインのViewModelで、オブジェクトのコレクションを初期化し、シートモデルから監視可能な配列にロードします。

次に、シートの特定のプロパティに基づいて表示シートを非表示にします...これは、モデルが別のビューモデルになるポイントです...

それで、KOで私たちが持っているのはViewModelsだけだと言うのは正しいですか?

4

1 に答える 1

15

はい。基本的に、が付いているものはすべてko.observableViewModelを作成しています。JSONとして表現できる単純なJavaScriptモデルを作成してラップすることもできますが、KnockoutのMVVMパターンの「モデル」は通常サーバー上にのみ存在します。サーバーからモデルデータを取得し、モデルデータをサーバーに送り返します(observablesデータだけを送信するのではなく、送信することを忘れないでください)。

Knockoutは、モデルがどこから来たのかを実際には気にしません。その主な役割は、宣言型ビュー(HTML)とViewModel(View-aware observables)の間のデータバインディングを処理することだからです。

MVVMパターンは、クライアント側のみのフレームワークであるため、Knockout以外のテクノロジーによって完成されます。これはパターンのVVM部分にすぎないと言えますが、それは混乱を招きます。

于 2013-01-25T06:24:42.327 に答える