Vue生命周期,Vue中在哪個生命周期階段調用異步請求最佳


Vue生命周期
beforeCreate(創建前): 在數據觀測和初始化事件還未開始,data、watcher、methods都還不存在,但是$route已存在,可以根據路由信息進行重定向等操作。

created(創建后):在實例創建之后被調用,該階段可以訪問data,使用watcher、events、methods,也就是說 數據觀測(data observer) 和event/watcher 事件配置 已完成。但是此時dom還沒有被掛載。該階段允許執行http請求操作。

beforeMount (掛載前):將HTML解析生成AST節點,再根據AST節點動態生成渲染函數。相關render函數首次被調用(划重點)。

mounted (掛載后):在掛載完成之后被調用,執行render函數生成虛擬dom,創建真實dom替換虛擬dom,並掛載到實例。可以操作dom,比如事件監聽

beforeUpdate:v m . d a t a 更 新 之 后 , 虛 擬 d o m 重 新 渲 染 之 前 被 調 用 。 在 這 個 鈎 子 可 以 修 改 vm.data更新之后,虛擬dom重新渲染之前被調用。在這個鈎子可以修改vm.data更新之后,虛擬dom重新渲染之前被調用。在這個鈎子可以修改vm.data,並不會觸發附加的沖渲染過程。

updated:虛擬dom重新渲染后調用,若再次修改$vm.data,會再次觸發beforeUpdate、updated,進入死循環。

beforeDestroy:實例被銷毀前調用,也就是說在這個階段還是可以調用實例的。

destroyed:實例被銷毀后調用,所有的事件監聽器已被移除,子實例被銷毀。

Vue在哪個生命周期階段調用異步請求最佳
異步請求在哪個階段都可以調用,因為會先執行完生命周期的鈎子函數之后,才會執行異步函數,但如果考慮用戶體驗方面的話,在created中調用異步請求最佳,用戶就越早感知頁面的已加載,畢竟越早獲取數據,在mounted實例掛載的時候就越及時。
————————————————
版權聲明:本文為CSDN博主「小育的滿滿」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/diwang_718/article/details/104889408


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM