解析VUE中nextTick是什么
1、nextTick是Vue提供的一個(gè)全局API,由于Vue的異步更新策略導(dǎo)致我們對數(shù)據(jù)的修改不會立刻體現(xiàn),在DOM變化上,此時(shí)如果想要立即獲取更新后的DOM狀態(tài),就需要使用這個(gè)方法。
2、Vue在更新DOM時(shí)是異步執(zhí)行的。只要監(jiān)聽到數(shù)據(jù)變化,Vue將開啟一個(gè)隊(duì)列,并緩沖在同一事件循環(huán)中發(fā)生的所有數(shù)據(jù)變更。如果同一個(gè)watcher被多次觸發(fā),只會被推入到隊(duì)列中一次。這種在緩沖時(shí)去除重復(fù)數(shù)據(jù)對于避免不必要的計(jì)算和DOM操作是非常重要的。nextTick方法會在隊(duì)列中加入一個(gè)回調(diào)函數(shù),確保該函數(shù)在前面的DOM操作完成后才調(diào)用。
3、所以當(dāng)我們想在修改數(shù)據(jù)后立即看到DOM執(zhí)行結(jié)果就需要用到nextTick方法。
4、比如,在干什么的時(shí)候就會使用nextTick,傳一個(gè)回調(diào)函數(shù)進(jìn)去,在里面執(zhí)行DOM操作即可。
5、 簡單了解nextTick實(shí)現(xiàn),它會在callbacks里面加入我們傳入的函數(shù),然后用timerFunc異步方式調(diào)用它們,首選的異步方式會是Promise。這讓我明白為什么可以在nextTick中看到DOM操作的結(jié)果。
有這樣一道面試題:nextTick是什么?
我們做如下實(shí)驗(yàn),在磁盤任意的位置(確保今后可以想起來),新建nextTick文件夾(可以命名為其他的)。
通過命令vue create demo創(chuàng)建以demo命名的vue2項(xiàng)目。
為了方便調(diào)試項(xiàng)目,我們通過VS Code打開創(chuàng)建的vue2項(xiàng)目demo。
我們來看操作1:

created(),mounted()按先后順序同步執(zhí)行(同步執(zhí)行可不是同時(shí)執(zhí)行,而是按順序執(zhí)行。異步,是同時(shí)進(jìn)行各自任務(wù)。),可以看到先打印了11,而后在mounted()里打印了22。
接著打印了created()里面的333,mounted()的444。這兩個(gè)怎么也按順序打印輸出了呢?
我們來看下列操作:




以上操作對數(shù)據(jù)的獲取都沒有問題,都獲取到了更新后的值。
我們在btn()方法里面,更改str的值試試


至此,回答面試題的問題——nextTick是什么?
是用來獲取更新后的dom內(nèi)容。
到此這篇關(guān)于解析VUE中nextTick的文章就介紹到這了,更多相關(guān)vue中nexttick內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue中@click.stop和@click.prevent實(shí)例詳解
當(dāng)我們使用Vue.js開發(fā)前端應(yīng)用時(shí),經(jīng)常會在模版中使用@click指令來響應(yīng)用戶的點(diǎn)擊事件,這篇文章主要給大家介紹了關(guān)于Vue中@click.stop和@click.prevent的相關(guān)資料,需要的朋友可以參考下2024-04-04
Vue3.0導(dǎo)出數(shù)據(jù)為自定義樣式Excel的詳細(xì)實(shí)例
在許多的后臺系統(tǒng)中少不了導(dǎo)出Excel表格的功能,下面這篇文章主要給大家介紹了關(guān)于Vue3.0導(dǎo)出數(shù)據(jù)為自定義樣式Excel的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
關(guān)于Element-ui中table默認(rèn)選中toggleRowSelection問題
這篇文章主要介紹了關(guān)于Element-ui中table默認(rèn)選中toggleRowSelection問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
vue2.x版本中computed和watch的使用及關(guān)聯(lián)和區(qū)別
這篇文章主要介紹了vue2.x版本中computed和watch的使用及關(guān)聯(lián)和區(qū)別,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-07-07

