> ## 1、vue原理
```
1、通過建立虛擬dom樹document.createDocumentFragment(),方法創建虛擬dom樹。
2、一旦被監測的數據改變,會通過Object.defineProperty來劫持各個屬性的setter,getter,
定義的數據攔截,截取到數據的變化。
3、截取到的數據變化,從而通過訂閱——發布者模式,觸發Watcher(觀察者),
從而改變虛擬dom的中的具體數據。
4、最后,通過更新虛擬dom的元素值,從而改變最后渲染dom樹的值,完成雙向綁定
```
>## 2、雙向綁定原理
~~~
1.實現一個監聽器Observer,用來劫持監聽所有的屬性,如有變動通知訂閱者;
2.實現一個訂閱者Watcher, 收到屬性變化的通知執行相應的函數,從而更新視圖
3.實現一個解析器Compile,可以掃描和解析每個節點的相關指令,
~~~