目前比較流行的幾個框架,例如vue.js、react.js、avalon、angular.js等,給自己的定位都是屬於mvvm類型框架,那么什么是mvvm框架呢?mvvm是什么意思呢?
聊到mvvm就要提一下java語言中的mvc模式,所以我們想來看下什么是mvc。
1、MVC模式
mvc即model-view-controller(模型-視圖-控制器)
作為前端出身的我,在了解java之前,后台語言給我的感覺是下面這樣的
確實后台不用框架的話好像也就是那么亂,后來看到一些MVC的框架算是對MVC模式有了新的認識
model:應用程序中處理數據邏輯的一部分,通常用來模型對象對數據庫的存存取等操作
view:視圖部分,通常指jsp、html等用來對用戶展示的一部分
controller:控制層通常用來處理業務邏輯,負責從試圖讀取數據,並向模型發送數據
view操作會觸發controller去改變model,然后model再去改變視圖,這么以來,三個部分代碼都分開來寫,邏輯就會清晰很多;mvvm就是基於這種設計理念,來創新的提出mvvm這種開發理念來處理前端開發,可以說mvvm就是相當於前端的mvc,下面就來說下mvvm。
2、mvvm模式
mvvm即Model-View-ViewModel,mvvm的設計原理是基於mvc的,所以說mvvm不算是一種創新,充其量是一種改造,這其中的ViewModel便是一個小小的創新;如下圖所示:
以上圖中可看出三者之間的關系;可以將ViewMode看作是Model和View的連接橋,View可以通過事件綁定Model,Model可以通過數據綁定View,通過ViewMode可以實現數據和視圖的完全分離。
3、小結
以上對mvvm做了簡單的介紹,如有不當之處,還請批評指正。