M表示:
- Model代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯。
V表示:
- View 很簡單,就是用戶看到的視圖
VM表示:
- ViewModel監聽模型數據的改變和控制視圖行為、處理用戶交互,簡單理解就是一個同步View 和 Model的對象,連接Model和View
- ViewModel 只關心數據和業務的處理,不關心 View 如何處理數據,在這種情況下,View和 Model 都可以獨立出來,任何一方改變了也不一定需要改變另一方,并且可以將一些可復用的邏輯放在一個 ViewModel 中,讓多個 View 復用這個 ViewModel。
MVVM的理解:
- 對于 MVVM來說,其實最重要的并不是通過雙向綁定或者其他的方式將 View 與 ViewModel 綁定起來,而是通過 ViewModel 將視圖中的狀態和用戶的行為分離出一個抽象,這才是 MVVM 的精髓
- 在MVVM架構下,View和 Model 之間并沒有直接的聯系,而是通過ViewModel進行交互,Model和 ViewModel 之間的交互是雙向的, 因此View 數據的變化會同步到Model中,而Model 數據的變化也會立即反應到View 上。
- ViewModel 通過雙向數據綁定把 View 層和 Model層連接了起來,而View和 Model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作DOM,不需要關注數據狀態的同步問題,復雜的數據狀態維護完全由 MVVM 來統一管理
MVVM特點:
雙向綁定技術,當Model變化時,View-Model會自動更新,View也會自動變化。很好做到數據的一致性,不用擔心,在模塊的這一塊數據是這個值,在另一塊就是另一個值了。所以 MVVM模式有些時候又被稱作:model-view-binder模式