本篇內容介紹了“vue2.0響應式編程實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
專業從事成都網站設計、成都做網站,高端網站制作設計,小程序定制開發,網站推廣的成都做網站的公司。優秀技術團隊竭力真誠服務,采用H5開發+CSS3前端渲染技術,成都響應式網站建設公司,讓網站在手機、平板、PC、微信下都能呈現。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。
vue2.0 使用了 Object.defineProterty 將data中的屬性遍歷并轉化為getter 和 setter, 并且在getter中將使用數據的上下文進行一次收集,我們稱之為依賴收集。
而在setter中就會觸發依賴更新的操作,讓在模板中可能會有多處隨該依賴變化,所以我們將所有地方都收集起來,等待更新的時候進行一次批量操作。
下面是demo演示
(function () {
let x;
let y;
let f = n => n * 100 + 200;
let active;
let onXChanged = function (cb) {
active = cb;
active();
active = null;
}
// 收集更多依賴
class Dep {
// 依賴收集,將響應依賴添加到deps中
constructor() {
this.deps = new Set();
}
depend() {
if (active) {
this.deps.add(active)
}
}
// 對當前deps中依賴一次執行
notify() {
this.deps.forEach(dep => dep())
}
}
let ref = initValue => {
let value = initValue;
let dep = new Dep();
return Object.defineProperty({}, "value", {
get() {
dep.depend();
return value;
},
set(newValue) {
value = newValue;
dep.notify()
}
})
}
x = ref(1);
onXChanged(() => {
y = f(x.value);
console.log(y);
});
x.value = 2;
x.value = 3;
})()
“vue2.0響應式編程實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!
分享標題:vue2.0響應式編程實例分析
網站URL:http://vcdvsql.cn/article26/gjojjg.html
成都網站建設公司_創新互聯,為您提供微信小程序、、網站制作、靜態網站、網站策劃、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯