什麼是MVVM

從1989年HTML誕生到現在,在瀏覽器端編寫前端代碼一共有經歷了四個階段:

第一階段:純靜態的html頁面,預先編寫好存放在Web服務器上的html文件。瀏覽器請求某個URL時,Web服務器把對應的html文件扔給瀏覽器,就可以顯示html文件的內容了

第二階段:利用C、C++這些編程語言,直接向瀏覽器輸出拼接後的字符串。這種技術被稱爲CGI:Common Gateway Interface。

第三階段:新的創建動態HTML的方式:ASP、JSP和PHP,需要替換的變量用特殊的<%=var%>標記出來了,再配合循環、條件判斷,創建動態HTML就比CGI要容易得多

第四階段:瀏覽器想要自己修改HTML頁面的內容,就需要等到1995年年底,JavaScript被引入到瀏覽器。有了JavaScript後,瀏覽器就可以運行JavaScript,然後,對頁面進行一些修改。JavaScript還可以通過修改HTML的DOM結構和CSS來實現一些動畫效果,而這些功能沒法通過服務器完成,必須在瀏覽器實現。第四階段又經歷了四個階段
第一階段,直接用JavaScript操作DOM節點,使用瀏覽器提供的原生API:
第二階段,由於原生API不好用,還要考慮瀏覽器兼容性,jQuery橫空出世
第三階段,MVC模式,需要服務器端配合,JavaScript可以在前端修改服務器渲染後的數據。
第四階段至今,隨着前端頁面越來越複雜,用戶對於交互性要求也越來越高,想要寫出Gmail這樣的頁面,僅僅用jQuery是遠遠不夠的。MVVM模型應運而生。MVVM最早由微軟提出來,它借鑑了桌面應用程序的MVC思想,在前端頁面中,把Model用純JavaScript對象表示,View負責顯示,兩者做到了最大限度的分離。把Model和View關聯起來的就是ViewModel。ViewModel負責把Model的數據同步到View顯示出來,還負責把View的修改同步回Model。

MVVM的核心是數據驅動即ViewModel,ViewModel是View和Model的關係映射。ViewModel類似中轉站(Value Converter),負責轉換Model中的數據對象,使得數據變得更加易於管理和使用。MVVM本質就是基於操作數據來操作視圖進而操作DOM,藉助於MVVM無需直接操作DOM,開發者只需完成包含聲明綁定的視圖模板,編寫ViewModel中有業務,使得View完全實現自動化。

什麼是MVVM

vue中的MVVM思想

viewmodel做了兩件事情。
1.數據綁定 把js裏面的數據通過插值操作mustachae語法綁定到真實dom裏面 而且是響應式的 一旦數據發生改變
自動監聽到數據的改變,把最新的數據再重新綁定到view上面,view裏面顯示得永遠是model裏面最新的數據

2.DOM監聽
當view上面有一些事件或者用戶操作的時候,通過指令,把事件響應相關的東西,綁定到model裏面,在model裏面可以寫一些js代碼(比如回調methods裏面定義的一些函數)

什麼是MVVM

什麼是MVVM

什麼是MVVM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章