
談談你對MVVM的理解
【答案】
MVVM 由 Model、View、ViewModel 三部分構成
- Model 代表資料模型,也可以在 Model 中定義資料修改和業務邏輯;
- View 代表 UI 組件,它負責將資料模型轉化成 UI 展現出來;
- ViewModel 是一個同步View 和 Model的物件;

[擴展問題]:為什么會出來MVVM
當業務程度越來越復雜時,MVC暴露出了很多問題,而MVVM就是為了解決這些問題出現的
當前端發展起來后,這時前端開發就暴露出了三個痛點問題:
- 開發者在代碼中大量呼叫相同的 DOM API, 處理繁瑣 ,操作冗余,使得代碼難以維護,
- 大量的DOM 操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗,
- 當 Model 頻繁發生變化,開發者需要主動更新到View ;當用戶的操作導致 Model 發生變化,開發者同樣需要將變化的資料同步到Model 中,這樣的作業不僅繁瑣,而且很難維護復雜多變的資料狀態,
其實,早期 jquery 的出現就是為了前端能更簡潔的操作 DOM 而設計的,但它只解決了第一個問題,另外兩個問題始終伴隨著前端一直存在, MVVM 的出現,完美解決 了 以上三個問題 ,
[擴展問題]:什么是MVC
- MVC 是 Model-View-Controller 的縮寫,即 模型—視圖—控制器 ,
- Model:后端傳遞的 資料 ,
- View:所看到的 頁面 ,
- Controller:頁面 業務邏輯 ,
-
MVC是 單向通信 ,即View和Model,必須通過Controller來承上啟下,
-
使用MVC的 目的 就是 將M和V的代碼分離 ,
[擴展問題]:MVC和MVVM的關系
MVVM是將之前的MVC后端開發:
- M:model資料庫中的資料
- V:view前端頁面
- C:controller后端控制器
中的V即View分成了MVVM模式
MVVM模式:不需要用戶手動的操作dom的,主要是實作資料雙向系結
[擴展問題]:VUE和MVVM的關系
Vue.js 可以說是MVVM 架構的最佳實踐,VUE并沒有完全遵循MVVM,專注于 MVVM 中的 ViewModel,不僅做到了資料雙向系結,而且也是一款相對比較輕量級的JS 庫,API 簡潔,很容易上手
歡迎留言~~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/18377.html
標籤:JavaScript
下一篇:SuperMap資料資訊問題
