關於vue生命周期中獲取不到dom元素的問題


今天晚上,做畢設的時候遇到一個問題,在mounted生命周期鈎子函數中獲取不到dom元素,用一個div盒子包含dom元素,我給它添加了一個v-if指令,通過在mounted生命周期中發起http請求,獲取數據后,根據是否有數據來決定是否顯示這個盒子,但是在獲取到數據后,通過this.$refs.box來獲取這個dom元素,卻獲取不了。經過分析與實際操作,得出以下結論:

  在mounted鈎子函數中,發送請求並獲得返回數據后,再設置數據來顯示這個盒子,表面上是可以的,但是:實際上,我們拿到數據后,並不會將數據馬上渲染,因此,數據是拿到了,但是還不能賦值,因此,這個盒子v-if=‘false’,拿不到盒子里面的dom元素。

  此外,通過了一次實驗,在created鈎子函數中發送請求,在mounted鈎子函數中console.log(“11111”),然后再發送一個請求。結果控制台執行的順序是輸出‘11111’,然后到created中的http請求,再到mounted中的請求。------http請求是異步的,最后再執行,這句話是沒錯的。


免責聲明!

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



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