您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
04 js訂閱發布者模式(vue是怎么將數據綁定到組件的原理)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-12 04:48:57【】3人已围观
简介據與視圖的綁定與同步,最終體現在對數據的讀寫處理過程中,也就是Object.defineProperty()定義的數據set、get函數中。Vue中對于的函數為defineReactive,在精簡版實
function defineReactive(obj, key, value) {
var dep = new Dep()
Object.defineProperty(obj, key, {
enumerable: true,
買粉絲nfigurable: true,
get: function reactiveGetter() {
if (Dep.target) {
dep.depend()
}
return value
},
set: function reactiveSetter(newVal) {
if (value === newVal) {
return
} else {
value = newVal
dep.notify()
}
}
})
}
在對數據進行讀取時,如果當前有 Watcher(對數據的觀察者吧,watcher 會負責將獲取的新數據發送給視圖),那將該 Watcher 綁定到當前的數據上(dep.depend(),dep 關聯當前數據和所有的 watcher 的依賴關系),是一個檢查并記錄依賴的過程。而在對數據進行賦值時,如果數據發生改變,則通知所有的 watcher(借助 dep.notify())。這樣,即便是我們手動改變了數據,框架也能夠自動將數據同步到視圖。
很赞哦!(35589)
相关文章
- 01 Jennie頭像ins風(歐陽娜娜 鐘楚曦 周雨彤 虞書欣都鐘愛的對鏡自拍到底在秀些什么)
- 01 java實現發布訂閱模式(java 設計模式之 觀察者模式(Observer))
- 01 上海康謬貿易有限公司(洛陽市澗西區周山大道991號在哪?)
- 01 上海德威外籍人員子女學校入學條件(上海德威國際學校入學條件是什么?)
- 01 上海建工海外工程分公司(上海建工海外事業部待遇)
- 01 上海建橋學院國際經濟與貿易(上海建橋學院什么專業比較好?)
- 01 上海弓言貿易有限公司(濠州定遠縣一弓手全文翻譯(濠州弓手文言文翻譯注釋))
- 01 上海年貨展銷會在什么地方(上海哪些網站可以采購年貨?)
- 01 iphone訂閱停用記錄怎么刪除不了(為什么訂閱已過期卻刪不了)
- 01 上海戶口去外地工作公積金可以取出來嗎(外地戶口,在上海交的公積金,離開上海時能全部取出來嗎?)