Vue依賴更新原理分析

2021-10-09 12:23:06 字數 613 閱讀 7954

依賴更新分為兩步

修改屬性值

通知之前收集到的依賴,進行更新

dep主要用來儲存依賴

var

dep=

function()

dep.prototype.

notify

=function()

}

watcher.update中到底發生了什麼?可以來具體看一下watcher類的原始碼

function

watcher

(vm, exporfn)

watcher.prototype.

get=

function()

watcher.prototype.

update

=function()

那watcher是什麼時候,傳入這個更新函式的,其實各個型別的watcher都不一樣,以頁面watcher舉例

vue.prototype.

$mount

=function()

);};

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

如果資料是引用資料型別,需要對資料進行額外的處理,處理分為物件和陣列兩種 每個物件處理之後,會新增乙個 ob 的屬性,ob 下面有乙個dep屬性,dep就是儲存watcher的地方。為什麼引用型別不能使用dep,因為dep只存在於definereactive這個函式中,作為乙個閉包形式的存在,ob ...

Vue 原理分析(一)

1.響應式 vue如何監聽到data的每個屬性變化什麼是響應式?var vm var data var key,value for key in data set function newval key 2 模版引擎 vue的模版如何被解析,指令如何處理1.模版是什麼?2.render函式與虛擬do...

Vue中methods原理分析

methods繫結上下文執行環境是通過bind來進行的。固定了這個this。vue考慮到不是所有的瀏覽器都支援bind。於是也實現了自己的polyfillbind function polyfillbind fn,ctx function nativebind ctx varbind functio...