久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

解決VUE mounted 鉤子函數執行時 img 未加載導致頁面布局的問題

瀏覽:2日期:2022-12-27 15:46:00

項目需求:圖片加載時,當鼠標滾動至當前圖片進行加載并加上上滑特效,實現這個效果需要對文檔文檔滾動位置和圖片的當前位置進行比較。但是mounted 鉤子函數執行時img圖片并未加載出來也就是占位為空,導致圖片位置計算出問題。

解決這個問題,目前想到幾種種方法

一、對mounted 鉤子函數 中init方法加上延時

mounted: function() { this.$nextTick(() => { // 加上延時避免 mounted 方法比頁面加載早執行 或者 對img進行塊級化設置寬高進行 提前站位 setTimeout(() => { this.init() }, 100) }) }, init () { var h = $(window).height() var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop var moves = $(’.tp’).filter(() => { return !$(this).hasClass(’move’); }); moves.each((index, item) => { var itemTop, isShow; itemTop = $(item).offset().top; isShow = (itemTop - scrollTop) < h ? true : false; console.log(`${index}: ${itemTop} ${scrollTop} ${h}`) if(isShow) { $(item).addClass(’move’); } }) },

二、img標簽進行塊級化并設置寬高進行占位

三、不使用img標簽,使用div,并設置background-image

補充知識:vue 解決mounted不重加載子組件問題

有時需要在父組件中重復加載同一個子組件,但會出現子組件不重新加載的問題。

解決方法:在子組件外加一個div框住它:

解決VUE mounted 鉤子函數執行時 img 未加載導致頁面布局的問題

這樣,父組件的數據就可以在每次加載子組件的時候傳入到子組件中

以上這篇解決VUE mounted 鉤子函數執行時 img 未加載導致頁面布局的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 隆安县| 潜山县| 开江县| 莲花县| 广德县| 横峰县| 尚义县| 孟津县| 梓潼县| 麻江县| 宝应县| 丰台区| 龙游县| 黑山县| 杂多县| 河东区| 洞口县| 北安市| 江达县| 尚志市| 南华县| 邯郸县| 永兴县| 手游| 辽宁省| 日土县| 西宁市| 德化县| 秭归县| 平塘县| 博湖县| 呼和浩特市| 河曲县| 香港| 微博| 九寨沟县| 香格里拉县| 蒲城县| 庄河市| 明星| 色达县|