MVVM 是 Model-View-ViewModel 的縮寫。
Model代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯。
View 代表UI 組件,它負責將數據模型轉化成UI 展現出來。
ViewModel 監聽模型數據的改變和控制視圖行為、處理用戶交互,簡單理解就是一個同步View 和 Model的對象,連接Model和View。
在MVVM架構下,View 和 Model 之間並沒有直接的聯系,而是通過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此View 數據的變化會同步到Model中,而Model 數據的變化也會立即反應到View 上。
ViewModel 通過雙向數據綁定把 View 層和 Model 層連接了起來,而View 和 Model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作DOM, 不需要關注數據狀態的同步問題,復雜的數據狀態維護完全由 MVVM 來統一管理。
我是這么理解的:
通俗的講,
view:小麗
model:小明
viewModel:在一起的小剛和小花,簡稱情侶
小明想和小麗處對象,但是他倆沒有直接的關系。但是小麗是小花的閨蜜,小明是小剛的兄弟。 小剛知道小花和小麗是閨蜜,正好自己和小剛也是兄弟。那么自己可以通過小剛這對情侶,把自己的意願,傳遞給小麗。然后小麗得到小明的意願以后,思前想后,想了半天(交互處理)。小麗畢竟是女孩子吧,也害羞。然后把自己的想法通過小花這對情侶,反饋到小剛那里。因為小剛這對情侶也是熱心,只要一得到他倆傳遞的信息,立馬反饋給相應的人。不需要小明和小麗的督促。這個就是我對mvvm的理解。