中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決Vue中mounted鉤子函數獲取節點高度出錯問題

發布時間:2020-10-05 05:41:54 來源:腳本之家 閱讀:394 作者:ovensi 欄目:web開發

遇到的問題

最近在開發一個Vue的項目,好幾個頁面都有用到一個 頁面樓層滑動的組件,我就直接封裝成了一個,但是遇到一個bug,就是我需要得到這個組件的offsetTop,然后頁面滾動到這個位置的時候,就設置position屬性為fixed,讓他固定在屏幕上。問題是當我在mounted鉤子函數中獲取offsetTop的時候,在新開的頁簽中打開頁面,會得到錯誤的offsetTop,但是在當前頁面刷新,就不會有問題。

定位問題

后來查到問題,就是加載的問題,新窗口打開圖片,默認是沒有帶緩存的,圖片是GET請求,是異步的,js運行的肯定比圖片GET要快,所以當執行mounted鉤子函數的時候,圖片還沒有全部加載完,這時候就會得到一個錯誤的offsetTop。

解決方案

給圖片加上ref屬性,并在那個組件里的mounted鉤子函數中寫,

this.$refs.img.onload = ()=>{
Bus.$emit('loadImgSuccess')
}

這里的Bus是用的EventBus,兩個組件中事件響應的辦法,不懂或者感興趣的可以點這里EventBus。
需要得到offsetTop的組件里面

Bus.$on('loadImgSuccess', () => {
var offsetTop = this.$refs.dom.offsetTop 
})

這時候就可以確認每次不管是頁面新打開還是當前頁刷新都可以得到正確的offsetTop。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通城县| 巴彦县| 天镇县| 承德县| 郯城县| 安达市| 葫芦岛市| 新昌县| 陇南市| 楚雄市| 梅州市| 浏阳市| 德安县| 通河县| 岑巩县| 土默特左旗| 黄平县| 安图县| 开江县| 融水| 丰城市| 洛扎县| 墨竹工卡县| 德阳市| 瓮安县| 汽车| 鲜城| 韩城市| 宁南县| 正阳县| 南丹县| 连江县| 稷山县| 井陉县| 连州市| 沂水县| 育儿| 监利县| 孙吴县| 宝鸡市| 密山市|