今天說一些vue的知識
㈠概念
Vue數據雙向綁定原理是通過數據劫持結合發布者-訂閱者模式的方式來實現的
Vue內部通過Object.defineProperty
方法屬性攔截的方式,把data
對象里每個數據的讀寫轉化成getter
/setter
,當數據變化時通知視圖更新。
㈡vue雙向綁定原理
Vue內部通過Object.defineProperty
方法屬性攔截的方式,把data
對象里每個數據的讀寫轉化成getter
/setter
,當數據變化時通知視圖更新。
當data 有變化的時候它通過Object.defineProperty()方法中的set方法進行監控,並調用在此之前已經定義好data 和view的關系了的回調函數,來通知view進行數據的改變
而view 發生改變則是通過底層的input 事件來進行data的響應更改
㈢文字的數據雙向綁定
訂閱者Watcher
是一個 類,在它的構造函數中,定義了一些屬性:
- vm:一個Vue的實例對象;
- exp:是
node
節點的v-model
或v-on:click
等指令的屬性值。如v-model="name"
,exp
就是name
; - cb:是
Watcher
綁定的更新函數;
⑴代碼如下圖所示:
⑵出來的效果圖是這樣的:
㈣圖片的數據雙向綁定
⑴代碼如下圖所示:
⑵出來的效果是這樣的:只截屏了部分圖片
在此由衷感謝李國鋒老師的指導。