ホームページ >ウェブフロントエンド >jsチュートリアル >MVVM パターンの ViewModel、View、Model の違いは何ですか? _JavaScript スキル
モデル: は非常に単純で、ビジネス ロジックに関連するデータ オブジェクトであり、通常はデータベースからマッピングされ、データベースに対応するモデルと言えます。
View: も非常にシンプルで、表示されるユーザー インターフェイスです。
基本的に、ほとんどのソフトウェアが行うことは、データ ストレージからデータを読み取り、それをユーザー インターフェイスに表示し、ユーザー インターフェイスから入力を受け取ってデータ ストレージに書き込むことです。したがって、データストレージ(モデル)とインターフェース(ビュー)の2層にすることには基本的に異論はありません。ただし、モデルをビューに表示する方法と、ビューからモデルにデータを書き込む方法については、人によって意見が異なります。
MVC 派の見解では、インターフェイス上のすべての変更はイベントであり、ユーザーの入力をモデル内のオブジェクトに変換するための一連のコードを記述するだけで済みます。
MVVM の考え方では、ビュー内のさまざまなコントロールに対応するデータ オブジェクトも定義します。このようにして、このデータ オブジェクトが変更される限り、ビューに表示されるコンテンツは自動的に更新されます。ビューで行われるどのような操作でも、このデータ オブジェクトはそれに応じて自動的に更新され、非常に美しいです。つまり:
ViewModel: はインターフェース (ビュー) に対応するモデルです。多くの場合、データベース構造はインターフェイス コントロールに 1 対 1 で直接対応できないため、ビュー上のコントロールに明確に対応する別のデータ オブジェクトを定義する必要があります。 ViewModel の役割は、モデル オブジェクトを、表示および入力の受け入れが可能なインターフェイス データ オブジェクトにカプセル化することです。
ビューモデルのデータについては、ビューで自動的に更新され、モデルに同期されるため、コードのこの部分は共通のフレームワークとして記述できるため、プログラマは心配する必要はありません。
簡単に言えば、ViewModel は View と Model の間のコネクタであり、ViewModel を通じて双方向のバインディングを実現します。