透過MVVM模式實現vue的雙向綁定數據。
首先需要一個監聽器Observer監聽數據(model)的變化,具體實現是利用Observer中Object.definePrototype()函數實現監聽數據。
當數據發生變化就通知訂閱者Watcher通知並執行綁定的更新函數,從而更新視圖。
最後需要一個Compile解析器,解析V-model、V-on等節點,綁定對應的更新函數並初始化這類節點的模板數據。
MVVM模式概念:MVVM模式就是Model–View–ViewModel模式。它實現了View的變動,自動反映在 ViewModel。相反的,ViewModel的變動也會自動反應在View。ViewModel是作爲Model和View橋樑的存在。
具體可參考Vue.js官方文檔中的這一章節:https://cn.vuejs.org/v2/guide...