MVC では、「Model」は単なるデータのコード表現です (たとえば、ASP.NET MVC では、対応するフィールドを持つクラスです)。
ただし、Knockout (MVVM を使用) では、フィールドを持つオブジェクトは「ViewModel」と呼ばれます。KOの公式ドキュメントから:
モデル: アプリケーションの保存データ。このデータは、ビジネス ドメイン (送金を実行できる銀行口座など) のオブジェクトと操作を表し、どの UI からも独立しています。KO を使用する場合、通常、サーバー側のコードに対して Ajax 呼び出しを行い、この格納されたモデル データを読み書きします。
ビュー モデル: UI 上のデータと操作の純粋なコード表現。たとえば、リスト エディターを実装している場合、ビュー モデルはアイテムのリストを保持し、アイテムを追加および削除するメソッドを公開するオブジェクトになります。
例から、ViewModel はフィールドを持つオブジェクトであり、データを保持していることがわかります。これは通常、MVC のモデルによって行われます。
var myViewModel = {
personName: ko.observable('Bob'),
personAge: ko.observable(123)
};
だから私はここで少し迷っています。Knockout.jsドメインで「Model」と「ViewModel」は正確には何を意味しますか?