最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Vue中mounted鉤子函數(shù)獲取節(jié)點(diǎn)高度出錯(cuò)問題

 更新時(shí)間:2018年05月18日 08:47:07   作者:ovensi  
本篇文章給大家分享了如何解決Vue中mounted鉤子函數(shù)獲取節(jié)點(diǎn)高度出錯(cuò)問題,對(duì)此有興趣的朋友可以參考學(xué)習(xí)下。

遇到的問題

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

定位問題

后來查到問題,就是加載的問題,新窗口打開圖片,默認(rèn)是沒有帶緩存的,圖片是GET請(qǐng)求,是異步的,js運(yùn)行的肯定比圖片GET要快,所以當(dāng)執(zhí)行mounted鉤子函數(shù)的時(shí)候,圖片還沒有全部加載完,這時(shí)候就會(huì)得到一個(gè)錯(cuò)誤的offsetTop。

解決方案

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

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

這里的Bus是用的EventBus,兩個(gè)組件中事件響應(yīng)的辦法,不懂或者感興趣的可以點(diǎn)這里EventBus。
需要得到offsetTop的組件里面

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

這時(shí)候就可以確認(rèn)每次不管是頁面新打開還是當(dāng)前頁刷新都可以得到正確的offsetTop。

相關(guān)文章

  • Vuejs在v-for中,利用index來對(duì)第一項(xiàng)添加class的方法

    Vuejs在v-for中,利用index來對(duì)第一項(xiàng)添加class的方法

    下面小編就為大家分享一篇Vuejs在v-for中,利用index來對(duì)第一項(xiàng)添加class的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 使用vite發(fā)布app存在的所有問題解決方法

    使用vite發(fā)布app存在的所有問題解決方法

    最近項(xiàng)目中使用了vue3+vite開發(fā)一個(gè)App項(xiàng),下面這篇文章主要給大家介紹了關(guān)于使用vite發(fā)布app存在的所有問題的解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 深入理解vue.js中$watch的oldvalue與newValue

    深入理解vue.js中$watch的oldvalue與newValue

    這篇文章主要給大家介紹了關(guān)于vue.js中$watch的oldvalue與newValue的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),并且介紹了關(guān)于watch的其他測(cè)試,對(duì)大家學(xué)習(xí)或者使用vue.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起看看吧。
    2017-08-08
  • Vue自定義部分頁面顯示導(dǎo)航欄功能

    Vue自定義部分頁面顯示導(dǎo)航欄功能

    這篇文章主要介紹了Vue自定義部分頁面顯示導(dǎo)航欄,在設(shè)計(jì)導(dǎo)航欄的時(shí)候,考慮到登錄之前不能瀏覽該網(wǎng)站,所以需要在登錄頁和注冊(cè)頁不能出現(xiàn)導(dǎo)航欄,登錄后的頁面才能出現(xiàn)導(dǎo)航欄,本文給大家解決這個(gè)問題,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • Vue加載讀取本地txt/json等文件的實(shí)現(xiàn)方式

    Vue加載讀取本地txt/json等文件的實(shí)現(xiàn)方式

    這篇文章主要介紹了Vue加載讀取本地txt/json等文件的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue如何給頁面增加url前綴

    vue如何給頁面增加url前綴

    這篇文章主要介紹了vue如何給頁面增加url前綴問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue3+ElementPlus封裝函數(shù)式彈窗組件詳解

    vue3+ElementPlus封裝函數(shù)式彈窗組件詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用vue3和ElementPlus封裝函數(shù)式彈窗組件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-08-08
  • vue-cli3 取消eslint校驗(yàn)代碼的解決辦法

    vue-cli3 取消eslint校驗(yàn)代碼的解決辦法

    這篇文章主要介紹了vue-cli3 取消eslint校驗(yàn)代碼的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • vue項(xiàng)目如何解決數(shù)字計(jì)算精度問題

    vue項(xiàng)目如何解決數(shù)字計(jì)算精度問題

    這篇文章主要介紹了vue項(xiàng)目如何解決數(shù)字計(jì)算精度問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3.0 搭建項(xiàng)目總結(jié)(詳細(xì)步驟)

    vue3.0 搭建項(xiàng)目總結(jié)(詳細(xì)步驟)

    這篇文章主要介紹了vue3.0 搭建項(xiàng)目總結(jié)(詳細(xì)步驟),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

靖安县| 丹江口市| 阳朔县| 贵港市| 玉田县| 拉孜县| 平远县| 鄂州市| 清河县| 东乌| 高淳县| 尚义县| 灵山县| 黑龙江省| 永靖县| 三原县| 莱州市| 江津市| 波密县| 米林县| 镇宁| 山东省| 芒康县| 阿拉尔市| 乡城县| 南川市| 柞水县| 吴旗县| 手机| 开原市| 阿城市| 阿克| 新绛县| 荔波县| 上虞市| 新河县| 遵义市| 新干县| 舟曲县| 汉源县| 沙洋县|