如果資料是引用資料型別,需要對資料進行額外的處理,處理分為物件和陣列兩種
每個物件處理之後,會新增乙個__ob__
的屬性,__ob__
下面有乙個dep
屬性,dep就是儲存watcher的地方。
為什麼引用型別不能使用dep
,因為dep只存在於definereactive這個函式中,作為乙個閉包形式的存在,__ob__.dep
在vue.prototype.$set
和vue.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 引薦任用,如 引用天下名士 在計算機程式設計中,引用則是名詞作修飾,表示資料的兵符,有了兵符才具備對資料傳達命令的權力。資料 數,數值,符號,有物理表達形式 ...