国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Bowman_han / 1407人閱讀

摘要:問題是當我在鉤子函數中獲取的時候,在新開的頁簽中打開頁面,會得到錯誤的,但是在當前頁面刷新,就不會有問題。解決方案給圖片加上屬性,并在那個組件里的鉤子函數中寫,這里的是用的,兩個組件中事件響應的辦法,不懂或者感興趣的可以點這里。

遇到的問題

最近在開發一個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。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95060.html

相關文章

  • Vue 生命周期詳解

    摘要:的鉤子函數會在組件停用時被調用。是在構造函數中的聲明的變量執行鉤子函數執行執行鉤子函數執行鉤子函數刷新前根據對中的進行排序。 Vue 生命周期詳解 Vue 生命周期流程 最開始,用戶使用 new Vue() 創建根 Vue 實例,或者 Vue 實例化子組件都會調用_init方法(我們將這兩種實例都稱為vm): function Vue(options) { //Vue 構...

    snowLu 評論0 收藏0
  • Vue實戰-菜單欄,商品展示數據交互(8)

    摘要:上篇我們將菜單欄,商品展示結構完成,本次我們為這兩個部分接入數據。菜單欄接入數據導入組件,定義需要的數據格式導入滾動組件導入商品頁面準備需要的數據初始化組件。 上篇我們將菜單欄,商品展示結構完成,本次我們為這兩個部分接入數據。 showImg(https://segmentfault.com/img/bVbu2JW?w=312&h=421); 菜單欄接入數據 導入組件,定義需要的數據格...

    chnmagnus 評論0 收藏0
  • Vue父子組件生命周期執行順序初探

    摘要:結論父子組件生命周期鉤子的執行順序遵循從外到內,然后再從內到外,不管嵌套幾層深,也遵循這個規律。組件化的設計思路大抵相同,中父子組件生命周期鉤子執行順序,具體沒做探究,但是值得一提的是父組件的也是晚于子組件執行的。 如今前端框架都流行組件化,頁面元素都可以使用組件進行高度概括,那么處理組件之間的關系就如同處理頁面架構一樣重要。正確理解組件之間的關系,才能讓代碼按照我們與預料方式工作。最...

    Yumenokanata 評論0 收藏0
  • 另辟蹊徑:vue單頁面,多路由,前進刷新,后退不刷新

    摘要:如何添加這個條件,判斷用戶是否刷新了頁面呢我們知道,當使用后,只有第一次進入后會觸發鉤子函數,再次進入就不再執行了。 目的:vue-cli構建的vue單頁面應用,某些特定的頁面,實現前進刷新,后退不刷新,類似app般的用戶體驗。注: 此處的刷新特指當進入此頁面時,觸發ajax請求,向服務器獲取數據。不刷新特指當進入此頁面時,不觸發ajax請求,而是使用之前緩存的數據,以便減少服務器請求...

    Ocean 評論0 收藏0
  • 你想要的——vue源碼分析(2)

    摘要:本次分析的版本是。的實例化由上一章我們了解了類的定義,本章主要分析用戶實例化類之后,框架內部做了具體的工作。所以我們先看看的構造函數里面定義了什么方法。這個文件聲明了類的構造函數,構造函數中直接調用了實例方法來初始化的實例,并傳入參數。 背景 Vue.js是現在國內比較火的前端框架,希望通過接下來的一系列文章,能夠幫助大家更好的了解Vue.js的實現原理。本次分析的版本是Vue.js2...

    objc94 評論0 收藏0

發表評論

0條評論

Bowman_han

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<