vue next tick原理分析

2021-10-09 13:42:22 字數 488 閱讀 2151

1.爺爺元件操作孫元件的ref,用nexttick未獲取到,用settimeout可以,因此對nexttick來做**

2.原始碼實現中,優先用promise->mo->setimedieate>settimeout,為什麼微任務優於巨集任務?

使用者運算元據變更後(同步任務,eg,i++100次),vue會把所有同步任務結果算出(i=100),再在nexttick中更新dom,而不是更新100次dom

角度1:瀏覽器先執行同步任務-微任務-uirending,如果用巨集任務來做nexttick,導致再一次同步任務-uirending

角度2:瀏覽器先執行同步任務-微任務-uirending,微任務包含vue內部watch更新dom,也包括我們寫的nexttick,插入到微任務和uirending之間,只需要uirending一次

之所以不理解微任務做nexttick較優是由於,我以為dom生成和uirending是一回事。問題2解決。

問題1,可能是做了非同步載入?有待研究

Vue nextTick 是何原理?

面試被大神問到 nexttick 的時候,就是掛載結束的時候,可以獲取到準確的dom節點 實現的原理是什麼?今天做乙個總結回覆大神。先看vue原始碼的 nexttick 方法 宣告公共陣列,儲存nexttick 函式var callbacks var pending false 執行timerfun...

原理分析 煙氣分析儀工作原理

煙氣分析儀的工作原理常用兩種,一種是電化學工作原理,另一種是紅外工作原理。目前市場上的可攜式煙氣分析儀通常是這兩種原理相結合,電化學煙氣分析儀一般有德國菲索 德國mru德國德圖,國產的有天虹嶗應等,紅外煙氣分析儀廠家一般有德國mru,德國西門子等。以下是這兩種煙氣分析儀的工作原理介紹 電化學氣體感測...

fork原理分析

note4 首先必須有一點要清楚,函式的返回值是儲存在暫存器eax中的。其次,當fork返回時,新程序會返回0是因為在初始化任務結構時,將eax設定為0 在fork中,把子程序加入到可執行的佇列中,由程序排程程式在適當的時機排程執行。也就是從此時開始,當前程序 為兩個併發的程序。無論哪個程序被排程執...