vue頁面切換時,頁面中的方法執行的順序踩的坑


當前有個需求:頁面相互跳轉中,在上一個頁面(A頁面)結束時使用$emit給父組件傳值重置某些數據,在下一個頁面(B頁面)加載的時候也會給父組件傳值給數據賦值。

我的做法是在A中使用 beforeDestroy() 在頁面摧毀之前向父頁面發送重置的信號,在B頁面的 created() 方法中給父頁面發送賦值的信號,但是值並沒有達到我想要的樣子。

經過測試A頁面的 beforeDestroy()  方法是在B頁面的 created() 方法之后執行的,所以B頁面傳過去的值修改成功之后又被A頁面的數據重置了。

簡單的寫兩個頁面測試一下之后發現,實際的執行順序是:

B.created()
 
B.beforeMount()
 
A.beforeDestroy()
 
A.destroyed()
 
B.mounted()

  


免責聲明!

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



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