vue的nextTick的實現

2022-02-03 17:51:39 字數 344 閱讀 3197

vue的nexttick是用瀏覽器支援的方法模擬nodejs的process.nexttick

老版本的vue用如下方法來模擬

promise.then

mutationobserver(mutationobserver由於相容性原因被下課)

settimeout(fn,0)

新版本的vue用如下方法來模擬

promise.then

setimmediate(僅有ie10+和edge支援,其他瀏覽器都不支援)

messagechannel(mutationobserver被替換為messagechannel)

settimeout(fn,0)

Vue裡的nextTick方法

官方解釋 在下次 dom 更新迴圈結束之後執行延遲 在修改資料之後立即使用這個方法,獲取更新後的 dom。自己總結 vue.nexttick callback 當資料發生變化,更新後執行 vue.nexttick callback 當dom發生變化,更新後執行的 例項 message got out...

聊聊VUE中的nextTick

在談nexttick之前,先要說明一件事,可能在我們平時使用vue時並沒有關注到,事實上,vue執行的dom更新是非同步的。舉個栗子 此時控制台列印的是數值是0 這時候如果你將 改一下 這時,控制台列印的數值為1000 這也就說明,vue的dom更新是非同步的,官網上是這樣描述的 可能你還沒有注意到...

Vue的nextTick是什麼?

公司做之前專案的時候,遇到了一些比較困惑的問題,後來研究明白了nexttick的用法。我們先看兩種情況 第一種 export default mounted watch 這段指令碼執行我們猜測會依次列印 1 2 3。但是實際效果中,只會輸出一次 3。為什麼會出現這樣的情況?原因 當觸發update更...