Vue 依賴收集 引用資料型別原理分析

2021-10-09 12:23:05 字數 486 閱讀 6831

如果資料是引用資料型別,需要對資料進行額外的處理,處理分為物件和陣列兩種

每個物件處理之後,會新增乙個__ob__的屬性,__ob__下面有乙個dep屬性,dep就是儲存watcher的地方。

為什麼引用型別不能使用dep,因為dep只存在於definereactive這個函式中,作為乙個閉包形式的存在,__ob__.depvue.prototype.$setvue.prototype.$delete中都有使用到。

對陣列而言,__ob__.dep的作用是用於對陣列相關方法的重寫,便於實現陣列的響應式。

對於引用型別而言,它自己本身也會收集一遍依賴

get()

}}return value

}

Vue響應式系統之收集依賴原理。

舉個例子 假設我們有多個vue物件 這個全域性變數需要在所有vue物件都能進行展示 let obj let vm1 newvue data obj let vm2 newvue data obj 這時候我們要物件全域性變數進行修改 修改後還需要讓count知道是誰依賴了自己,然後count變更的時候...

引用資料型別

繼續跟 上上乙個章節 格式有點亂。引用資料型別 類 介面型別 陣列型別 列舉型別 註解型別。區別 基本資料型別在被建立時,在棧上給其劃分一塊記憶體,將數值直接儲存在棧上。引用資料型別在被建立時,首先要在棧上給其引用 控制代碼 分配一塊記憶體,而物件的具體資訊都儲存在堆記憶體上,然後由棧上面的引用指向...

引用資料型別

引用 在漢語詞典中引用有兩個動詞意思 1 引出事例,用他人的事例或言詞作為根據,如 引用詩句 格言 成語等,以表達自己思想感情的修辭方法。2 引薦任用,如 引用天下名士 在計算機程式設計中,引用則是名詞作修飾,表示資料的兵符,有了兵符才具備對資料傳達命令的權力。資料 數,數值,符號,有物理表達形式 ...