vue想要獲取dom元素的高,一般情況下我們都可以想到寫在mounted函數里,即dom載入完再獲取,但是結果並不如我們所想,又想到用一個 來獲取,發現根本沒用啊/。。 所以好的辦法就是用一個setTimeout定時器,時間可以設為0,但是有時候生效,有時候不生效,還是加一個小的時間值比較保險,這樣 ...
mounted(){ setTimeout(()=>{ this.contentToggle(); },1000) }, methods:{ contentToggle(){ console.log(this.$refs.bodyFont.offsetHeight); } }
vue想要獲取dom元素的高,一般情況下我們都可以想到寫在mounted函數里,即dom載入完再獲取,但是結果並不如我們所想,又想到用一個
this.$nextTick(()=>{ //函數 })
來獲取,發現根本沒用啊/。。
所以好的辦法就是用一個setTimeout定時器,時間可以設為0,但是有時候生效,有時候不生效,還是加一個小的時間值比較保險,這樣就可以保證獲取到的一定是dom載入後的了,該原理適用於vue中很多傳值的問題,剛開始獲取不到傳過來的值,用一個setTimeout就可。