解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题

 更新时间:2020年07月27日 08:41:50   作者:一起蹦极某囖  
这篇文章主要介绍了解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

项目需求:图片加载时,当鼠标滚动至当前图片进行加载并加上上滑特效,实现这个效果需要对文档文档滚动位置和图片的当前位置进行比较。但是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 未加载导致页面布局的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue3实现表单输入的双向绑定的示例代码

    Vue3实现表单输入的双向绑定的示例代码

    Vue.js 是一个渐进式的JavaScript框架,广泛用于构建交互式用户界面,在 Vue 中,双向绑定是一项非常核心的概念,尤其是在处理表单输入时,它使得数据和用户界面之间的互动变得简单又高效,在本篇博客中,我们将深入探讨如何在 Vue 3 中实现表单输入的双向绑定
    2025-01-01
  • vue 如何处理防止按钮重复点击问题

    vue 如何处理防止按钮重复点击问题

    这篇文章主要介绍了vue 如何处理防止按钮重复点击问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue子组件监听父组件值的变化

    Vue子组件监听父组件值的变化

    这篇文章主要介绍了Vue子组件监听父组件值的变化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue点击当前路由高亮小案例

    vue点击当前路由高亮小案例

    这篇文章主要为大家详细介绍了vue点击当前路由高亮小案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • vue中使用 pinia 全局状态管理的实现

    vue中使用 pinia 全局状态管理的实现

    本文主要介绍了vue中使用 pinia 全局状态管理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 使用vuex的state状态对象的5种方式

    使用vuex的state状态对象的5种方式

    本文给大家介绍了使用vuex的state状态对象的5种方式,给大家贴出了我的vuex的结构,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-04-04
  • vue3的父传子问题(单项数据流)

    vue3的父传子问题(单项数据流)

    这篇文章主要介绍了vue3的父传子问题(单项数据流),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue.js数据加载完成前显示原代码{{代码}}问题及解决

    vue.js数据加载完成前显示原代码{{代码}}问题及解决

    这篇文章主要介绍了vue.js数据加载完成前显示原代码{{代码}}问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Vue实现搜索 和新闻列表功能简单范例

    Vue实现搜索 和新闻列表功能简单范例

    本文通过实例代码给大家介绍了Vue实现搜索 和新闻列表功能简单范例,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2018-03-03
  • Vue.js slot插槽的作用域插槽用法详解

    Vue.js slot插槽的作用域插槽用法详解

    这篇文章主要介绍了Vue.js slot插槽的作用域插槽用法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09

最新评论