vue在mounted中獲取元素寬度不準確的問題

2022-09-19 07:24:10 字數 524 閱讀 5186

遇到這樣乙個問題:

在元件mounted生命週期中獲取類名為newform元素的寬度

mounted(),
審查元素發現,元素的寬度為1695

但是控制台列印輸出的一直都是1890

查資料發現可能是頁面沒有完全渲染完畢就去獲取了元素的寬度

加個延遲就可以解決

修改後的**:

mounted(),0)

},

輸出元素寬度為1695

這就涉及到了執行緒的問題:

js裡有個渲染執行緒類似於j**a裡邊的主線程,主線程按順序執行**,執行完才會有空去看看任務棧裡邊有沒有任務需要執行,有的話就拿來到主線程裡邊執行,settimeout就把裡邊的**放到任務棧中(類似於子執行緒)了,所以settimeout裡邊這部分**會在主線程執行完才會執行;

**:

Vue中mounted鉤子函式獲取節點高度出錯

遇到的問題 最近在開發乙個vue的專案,好幾個頁面都有用到乙個 頁面樓層滑動的元件,我就直接封裝成了乙個,但是遇到乙個bug,就是我需要得到這個元件的offsettop,然後頁面滾動到這個位置的時候,就設定position屬性為fixed,讓他固定在螢幕上。問題是當我在mounted鉤子函式中獲取o...

vue中created與mounted的區別

關於vue.js中的生命週期,如果不是有特別的需求,一般在專案開發過程中更多的使用created和mounted,所以在本文中主要講解created與mounted在開發中的主要使用區別。版本資訊 完整的生命週期圖示為了避免占用板塊,這裡就不貼出來了,大家可以自行前往vue生命週期檢視。這裡是官方文...

vue中mounted和created的使用和區別

created 在模板渲染成html前呼叫,即通常初始化某些屬性值,然後再渲染成檢視。mounted 在模板渲染成html後呼叫,通常是初始化頁面完成後,再對html的dom節點進行一些需要的操作。通常created使用的次數多,而mounted通常是在一些外掛程式的使用或者元件的使用中進行操作,比...