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

2022-09-02 09:27:07 字數 492 閱讀 5340

今天晚上,做畢設的時候遇到乙個問題,在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請求是非同步的,最後再執行,這句話是沒錯的。

vue 關於生命週期

序言 1.vue 單元件的生命週期 2.vue 父子元件的生命週期 3.axios 非同步請求 與 vue 的元件週期 vue的生命週期 淺白 簡單總結 1.beforecreate 此時 el data 的值都為 undefined 2.created 此時可以拿到 data 中的值,但是 thi...

Vue生命週期 中文版本

1.看中文簡介版本需要對照下面給的 根據註解和 去對應 2.首先要知道,繫結渲染的dom不止有el中繫結形式,還有例項物件呼叫 mount 3.繫結後會接著往下找看有沒有template 設定,有和沒有會執行兩種,也就是說 有template 就只會渲染template中的內容,並且覆蓋掉el中的內...

vue的生命週期中建立echarts失效

1.在beforecreate created beforemount三個鉤子 中,建立echarts例項會失效。2.失效原因猜測 由於beforecreate created beforemount這三個週期是在掛載結束之前的生命週期中。通過debugger逐步執行,可以看出,在這三個週期 中,e...