在2008年Chrome V8引擎橫空出世,讓Javascript的效率有了質的飛躍,天才的Ryan Dahl將V8放到服務器上運行Javascript,Node.js便瓜瓜墜地,Node.js不僅給帶來了高性能的服務器,還推動了前端的工程化。前端的邏輯越來越重,改變迫在眉睫,MVVM模式便走進了前端的架構設計中。
MVVM是Model-View-ViewModel的縮寫。mvvm是一種設計思想。Model 層代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯;View 代表UI 組件,它負責將數據模型轉化成UI 展現出來,ViewModel 是一個同步View 和 Model的對象。
在MVVM架構下,View和Model之間沒有直接的聯系,它們通過ViewModel進行交互,Model和ViewModel之間是交互是雙向的,因此,View和Model的數據變化是同步的。
綜上,我們操作數據就是操作視圖,而無需操作DOM,開發者只需專注於ViewModel中業務邏輯的編寫,View層將自動響應,能夠極大的提高效率。其實,MVVM就是一種分層架構,Model:數據層模型;View:視圖模版;ViewModel:負責具體業務邏輯,監聽View和Model的數據變化的同步工作。