小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

前端面試 vue 部分 (1)——談?wù)勀銓?MVVM 的理解

 丹楓無跡 2021-09-28

【答案】

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

  1. MVCModel-View-Controller 的縮寫,即 模型—視圖—控制器 。

  • Model:后端傳遞的 數(shù)據(jù)

  • View:所看到的 頁面

  • Controller:頁面 業(yè)務(wù)邏輯 。

  1. MVC是 單向通信 。即View和Model,必須通過Controller來承上啟下。

  2. 使用MVC的 目的 就是 將M和V的代碼分離 。

[擴展問題]:MVC和MVVM的關(guān)系

MVVM是將之前的MVC后端開發(fā):

  • M:model數(shù)據(jù)庫中的數(shù)據(jù)

  • V:view前端頁面

  • C:controller后端控制器

中的V即View分成了MVVM模式

MVVM模式:不需要用戶手動的操作dom的,主要是實現(xiàn)數(shù)據(jù)雙向綁定

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多