關於什么是MVVM?幾種雙向數據綁定的方式


1.什么是MVVM?

   M:(Model,模型層) 數據模型 數據是后端ajax獲取到的

   V :(View,視圖層)需要把數據展示到頁面的html中 

   VM:(ViewModel,視圖模型 V與M連接的橋梁) View和Model是通過ViewModel來進行關聯的

   View改變了 通過DomListener 注冊事件 視圖改變了 數據就改變了

 

   數據變化了 視圖根據DataBindings發生改變(也就是數據劫持)

   MVVM實現了數據雙向綁定 (數據發生改變以后  VM會監測到數據的改變) 自動的通知我們的頁面

   進行修改 視圖發生改變以后 同樣的數據也會發生改變

   Vue做得事情就是視圖變 數據變 數據變 視圖變

2.幾種雙向數據綁定的方式?

1.發布-訂閱者模式(backbone.js) 最早的mvvm框架

一般通過pub、sub的方式來實現數據和視圖的綁定 使用起來比較麻煩

2.臟值檢查(angular.js)

用定時器輪訓檢測數據是否發生改變 性能低

3.(vue用什么方式實現的數據綁定?)

 數據劫持 Object.defineProperty給對象的屬性增加修飾符來劫持各個屬性的setter getter(獲取值和設置值的時候 你都能知道

然后就可以修改頁面的視圖了) 此外還結合了發布訂閱模式 把所有訂閱 指定 統一做更新的處理

IE8以下不支持 Object.defineProperty這個屬性的 所以vue只兼容到ie9

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM