老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

vue中nexttick的原理是什么

vue中nexttick的原理是什么?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

和布克賽爾蒙古網站制作公司哪家好,找創新互聯!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設等網站項目制作,到程序開發,運營維護。創新互聯成立于2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創新互聯

Vue.nextTick是Vue官方給我們提供的一個API(方法),作用是在下次DOM更新循環結束之后執行延遲回調。在修改數據之后立即使用這個方法,獲取更新后的DOM;

當數據發生變化之后,DOM視圖并不會立即更新,如果我們在發生變化之后立馬去獲取某個節點或者某個節點的值,很有可能結果就是undefined;因為Vue實現響應式并不是數據發生變化之后DOM立即變化,而是按一定的策略進行DOM的更新。

一、原理

1.異步說明

Vue 實現響應式并不是數據發生變化之后 DOM 立即變化,而是按一定的策略進行 DOM 的更新。

2.事件循環說明

簡單來說,Vue在修改數據后,視圖不會立刻更新,而是等同一事件循環中的所有數據變化完成之后,再統一進行視圖更新。

eg:

vue中nexttick的原理是什么

圖解:

vue中nexttick的原理是什么

事件循環:

第一個tick(本次更新循環)

1.首先修改數據,這是同步任務。同一事件循環的所有的同步任務都在主線程上執行,形成一個執行棧,此時還未涉及DOM.

2.Vue開啟一個異步隊列,并緩沖在此事件循環中發生的所有數據變化。如果同一個watcher被多次觸發,只會被推入隊列中一次。

第二個tick(‘下次更新循環’)

同步任務執行完畢,開始執行異步watcher隊列的任務,更新DOM。Vue在內部嘗試對異步隊列使用原生的Promise.then和MessageChannel 方法,如果執行環境不支持,會采用 setTimeout(fn, 0) 代替。

第三個tick(下次 DOM 更新循環結束之后)

二、應用場景及原因

1.

  • 在Vue生命周期的created()鉤子函數進行的DOM操作一定要放在Vue.nextTick()的回調函數中

在created()鉤子函數執行的時候DOM 其實并未進行任何渲染,而此時進行DOM操作無異于徒勞,所以此處一定要將DOM操作的js代碼放進Vue.nextTick()的回調函數中。與之對應的就是mounted()鉤子函數,因為該鉤子函數執行時所有的DOM掛載和渲染都已完成,此時在該鉤子函數中進行任何DOM操作都不會有問題 。

  • 在數據變化后要執行的某個操作,而這個操作需要使用隨數據改變而改變的DOM結構的時候,這個操作都應該放進Vue.nextTick()的回調函數中。
2.在數據變化后要執行的某個操作,而這個操作需要使用隨數據改變而改變的DOM結構的時候,這個操作都應該放進Vue.nextTick()的回調函數中。

具體原因在Vue的官方文檔中詳細解釋:

Vue 異步執行 DOM 更新。只要觀察到數據變化,Vue 將開啟一個隊列,并緩沖在同一事件循環中發生的所有數據改變。如果同一個 watcher 被多次觸發,只會被推入到隊列中一次。這種在緩沖時去除重復數據對于避免不必要的計算和 DOM 操作上非常重要。然后,在下一個的事件循環“tick”中,Vue 刷新隊列并執行實際 (已去重的) 工作。Vue 在內部嘗試對異步隊列使用原生的Promise.then和MessageChannel,如果執行環境不支持,會采用setTimeout(fn, 0)代替。

例如,當你設置vm.someData = 'new value',該組件不會立即重新渲染。當刷新隊列時,組件會在事件循環隊列清空時的下一個“tick”更新。多數情況我們不需要關心這個過程,但是如果你想在 DOM 狀態更新后做點什么,這就可能會有些棘手。雖然 Vue.js 通常鼓勵開發人員沿著“數據驅動”的方式思考,避免直接接觸 DOM,但是有時我們確實要這么做。為了在數據變化之后等待 Vue 完成更新 DOM ,可以在數據變化之后立即使用Vue.nextTick(callback)。這樣回調函數在 DOM 更新完成后就會調用。

關于vue中nexttick的原理是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。


文章名稱:vue中nexttick的原理是什么
當前網址:http://www.xueling.net.cn/article/pjhphh.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 先锋影音9porny自拍啪 | 一区二区三区视频在线播放 | 成年人免费观看视频网站 | av国产精品毛片一区二区小说 | 亚洲一级黄色毛片 | 啄木鸟在线观看 | 国产精品VA在线观看无码不卡 | 萍萍的性荡生活第二部 | 九九天堂网 | 绿色小导航ˇ福利合集 | 国产成人亚洲中文字幕视频 | 久久夜色精品国产欧美乱文字幕无码 | 欧美亚洲日本 | 亚洲国产中文字幕在线观看 | 高清视频在线观看免费 | av在线免费观看网 | 热久久一区 | 亚洲一区精品视频在线观看 | 亚洲欧洲一区二区三区在线 | 特级黄色影院 | 国产精品免费视频久久久 | 黑人巨茎大战白人美女 | 亚洲人成网站在线播放942 | 韩国av在线 | 国产精品激情欧美可乐视频 | 最新免费av在线观看 | 在线精品自偷自拍无码中文 | 40集全部免费观看 | 亚洲美女在线视频 | 青苹果乐园免费观看完整 | 一区二区三区视频免费视频观看网站 | 少妇对白露脸打电话系列 | 久草资源在线 | 午夜理论片一级毛片免费 | 国产大屁股喷水视频在线观看 | 色先锋影音岛国av资源 | 91在线免费观看网站 | 欧美亚洲伦理片 | 伊人狠狠色丁香婷婷综合动态图 | 日韩在线观看不卡 | 久久这里都是精品 |