|
【答案】 MVVM 由 Model、View、ViewModel 三部分構(gòu)成 Model 代表數(shù)據(jù)模型,也可以在 Model 中定義數(shù)據(jù)修改和業(yè)務(wù)邏輯; View 代表 UI 組件,它負責將數(shù)據(jù)模型轉(zhuǎn)化成 UI 展現(xiàn)出來; ViewModel 是一個同步View 和 Model的對象;

[擴展問題]:為什么會出來MVVM 當業(yè)務(wù)程度越來越復雜時,MVC暴露出了很多問題,而MVVM就是為了解決這些問題出現(xiàn)的 當前端發(fā)展起來后,這時前端開發(fā)就暴露出了三個痛點問題: 開發(fā)者在代碼中大量調(diào)用相同的 DOM API, 處理繁瑣 ,操作冗余,使得代碼難以維護。 大量的DOM 操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗。 當 Model 頻繁發(fā)生變化,開發(fā)者需要主動更新到View ;當用戶的操作導致 Model 發(fā)生變化,開發(fā)者同樣需要將變化的數(shù)據(jù)同步到Model 中,這樣的工作不僅繁瑣,而且很難維護復雜多變的數(shù)據(jù)狀態(tài)。
其實,早期 jquery 的出現(xiàn)就是為了前端能更簡潔的操作 DOM 而設(shè)計的,但它只解決了第一個問題,另外兩個問題始終伴隨著前端一直存在。 MVVM 的出現(xiàn),完美解決 了 以上三個問題 。 [擴展問題]:什么是MVC MVC 是 Model-View-Controller 的縮寫,即 模型—視圖—控制器 。
MVC是 單向通信 。即View和Model,必須通過Controller來承上啟下。 使用MVC的 目的 就是 將M和V的代碼分離 。
[擴展問題]:MVC和MVVM的關(guān)系 MVVM是將之前的MVC后端開發(fā): 中的V即View分成了MVVM模式 MVVM模式:不需要用戶手動的操作dom的,主要是實現(xiàn)數(shù)據(jù)雙向綁定
|