this.$nextTick()方法主要是用在數(shù)據(jù)改變,dom改變應(yīng)用場(chǎng)景中磕蛇。vue中數(shù)據(jù)和dom渲染由于是異步的景描,所以,要讓dom結(jié)構(gòu)隨數(shù)據(jù)改變這樣的操作都應(yīng)該放進(jìn)this.$nextTick()的回調(diào)函數(shù)中秀撇。created()中使用的方法時(shí)超棺,dom還沒(méi)有渲染,如果此時(shí)在該鉤子函數(shù)中進(jìn)行dom賦值數(shù)據(jù)(或者其它dom操作)時(shí)無(wú)異于徒勞呵燕,所以棠绘,此時(shí)this.$nextTick()就會(huì)被大量使用,而與created()對(duì)應(yīng)的是mounted()的鉤子函數(shù)則是在dom完全渲染后才開(kāi)始渲染數(shù)據(jù),所以在mounted()中操作dom基本不會(huì)存在渲染問(wèn)題氧苍。
應(yīng)用場(chǎng)景:需要在視圖更新之后夜矗,基于新的視圖進(jìn)行操作。(比如在 created 和 mounted 回調(diào)中让虐,需要操作渲染好的 DOM紊撕,則需要在 nextTick 中執(zhí)行相關(guān)邏輯)。
$nextTick和created,mounted區(qū)別:
三者區(qū)別