Vue中的底層原理
- 資料驅動
當資料發生改變時,檢視也會進行更新,這叫做資料驅動,也就是資料驅動檢視 - 深入響應式原理
資料模型僅僅是普通的 JavaScript 物件。而當你修改它們時,檢視會進行更新 - 雙向資料繫結原理
當我們使用 v-model 指令繫結了表單元素時,那麼我們可以在檢視直接獲得資料,當檢視發生改變時,資料也會進行更新
綜上: 三者都是應用了同一個底層原理,這個底層原理由es5的 Object.defineProperty 屬性來提供
-
vue中底層原理的實現主要是依賴 儲存器( getter/setter )
-
我們利用了資料劫持和事件的釋出訂閱來實現雙向資料繫結,當我們在vue data選項中定義資料時,vue會通過觀察者物件( observer )將data選項中的所有key,經過Object.defineProperty 的getter 和setter進行設定,當我們通過 v-model指令繫結元素是, 自動觸發getter,getter會返回一個初始值,這樣我們在檢視中就可以看到資料了,當檢視中內容改變時,會觸發setter,setter會通知vue,檢視已經進行了更新,vue會重新生成 虛擬DOM , 繼而通過 新舊 虛擬DOM 對比, 生成patch物件,再將patch對應渲染到檢視中
Vue.set/this.$set 的原理( 陣列的下標和length不響應 )
底層:Object.assign
相關文章
- HashMap的底層原理HashMap
- OC底層探索(十六) KVO底層原理
- synchronized底層原理synchronized
- Netty的底層原理Netty
- HashMap的底層原理分析HashMap
- Volatile的底層原理
- RunLoop底層原理探究OOP
- RabbitMq底層原理分析MQ
- HashMap原理底層剖析HashMap
- iOS底層原理-CategoryiOSGo
- ArrayList集合底層原理
- ConcurrentHashMap底層原理HashMap
- ArrayList底層的實現原理
- [底層原理]iOS中函式的型別編碼iOS函式型別
- HashMap原理詳解,包括底層原理HashMap
- HashMap底層實現原理HashMap
- 理解PHP底層原理(一)PHP
- 底層原理面試彙總面試
- 初步理解 JavaScript 底層原理JavaScript
- Spring Cloud底層原理SpringCloud
- NSDictionary底層實現原理
- ArrayList底層原理淺析
- 底層原理探究(二)RunLoopOOP
- AutoreleasePool底層實現原理
- iOS底層原理探究-RunloopiOSOOP
- golang select底層原理Golang
- InnoDB索引與底層原理索引
- 圖解Go的channel底層原理圖解Go
- runtime的底層原理和使用
- MySQL Join的底層實現原理MySql
- 深入理解Java中的底層阻塞原理及實現Java
- flutter底層原理和embedder的隱憂Flutter
- IOS 底層原理 物件的本質--(1)iOS物件
- IOS 底層原理 類的本質--(2)iOS
- KVO的使用和底層實現原理
- iOS底層原理總結 – RunLoopiOSOOP
- [譯] SQLite 底層查詢原理SQLite
- volatile底層原理詳解