MVVM是Model-View-ViewModel的簡(jiǎn)寫。它本質(zhì)上就是MVC(Model-View-Controller)的改進(jìn)版。在開發(fā)過程中,由于需求的變更或添加,項(xiàng)目的復(fù)雜度越來(lái)越高,代碼量越來(lái)越大,此時(shí)我們會(huì)發(fā)現(xiàn)MVC維護(hù)起來(lái)有些吃力,尤其Controller控制層非常的厚重,非常的龐大,難以維護(hù)。
所以有人想到把Controller的數(shù)據(jù)和邏輯處理部分從中抽離出來(lái),用一個(gè)專門的對(duì)象去管理,這個(gè)對(duì)象就是ViewModel。ViewModel 是由前端開發(fā)人員組織生成和維護(hù)的視圖數(shù)據(jù)層。在這一層,前端開發(fā)者對(duì)從后端獲取的 Model 數(shù)據(jù)進(jìn)行轉(zhuǎn)換處理,做二次封裝,以生成符合 View 層使用預(yù)期的視圖數(shù)據(jù)模型。
由于實(shí)現(xiàn)了雙向綁定,ViewModel 的內(nèi)容會(huì)實(shí)時(shí)展現(xiàn)在 View 層,這是激動(dòng)人心的,因?yàn)榍岸碎_發(fā)者再也不必低效又麻煩地通過操縱 DOM 去更新視圖,MVVM 框架已經(jīng)把最臟最累的一塊做好了,我們開發(fā)者只需要處理和維護(hù) ViewModel,更新數(shù)據(jù)視圖就會(huì)自動(dòng)得到相應(yīng)更新,真正實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)開發(fā)。
更多關(guān)于“前端培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)程序員夢(mèng)想。