vue mounted 调用两次的完美解决办法

 更新时间:2018年10月29日 08:34:35   作者:web攻城狮1990  
在开发中发现其中一个页面moutned调用了两次,而其他页面正常,表示很懵逼,然后查找原因,终于找到了,其实归根到底是要知道mounted的调用机制问题。这篇文章主要介绍了vue mounted 调用两次的解决办法,需要的朋友可以参考下

在开发中发现其中一个页面moutned调用了两次,而其他页面正常,表示很懵逼,然后查找原因,终于找到了,其实归根到底是要知道mounted的调用机制问题;

情况:在这个页面中出现了mounted 加载了两次的情况;

方法:排除法

首先把 this.$store.commit() 方法注释掉,发现就好了,只加载一次

初步判断是commit  方法导致的

二  验证判断是否正确,不使用commit 方法,该用直接改变变量状态的方法,发现又加载了两次;

再次判断,不是由于commit引起的

三   猜想commit到底实现了什么逻辑,然后找到了v-if  

v-if会重新渲染页面,而mounted 又是在重新渲染完成之后调用的,所以猜想是v-if导致的

然后换成v-show 发现完美解决问题;

v-show 不会重新加载页面,仅仅是显示隐藏而已; 

从网上找来的生命周期图,各位网友可以了解一下,希望给你带来一些启发;

 

PS:下面看下mounted函数调用技巧

为了确保dom成功渲染,利用setTimeout()

mounted() {
 setTimeout(() => {
  this._setSliderWidth()
  this._initDots()
  this._initSlider()

  if (this.autoPlay) {
   this._play()
  }
 }, 20)}

浏览器的刷新通常是17毫秒一次,所以这里用了20毫秒

总结

以上所述是小编给大家介绍的vue mounted 调用两次的完美解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 在vue中读取本地Json文件的方法

    在vue中读取本地Json文件的方法

    今天小编就为大家分享一篇在vue中读取本地Json文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue.js实例todoList项目

    vue.js实例todoList项目

    本篇文章主要介绍了vue.js实例todoList项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 用vue设计一个数据采集器

    用vue设计一个数据采集器

    这篇文章主要介绍了如何用vue设计一个数据采集器,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-04-04
  • Vue3项目搭建的详细过程记录

    Vue3项目搭建的详细过程记录

    使用VUE3开发很久了,但一直没进行总结和记录,忙里偷闲整理搭建一套VUE3项目脚手架,下面这篇文章主要给大家介绍了关于Vue3项目搭建的详细过程,需要的朋友可以参考下
    2022-10-10
  • Vue项目中使用setTimeout存在的潜在问题及解决

    Vue项目中使用setTimeout存在的潜在问题及解决

    这篇文章主要介绍了Vue项目中使用setTimeout存在的潜在问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue实现一个单独的组件注释

    vue实现一个单独的组件注释

    这篇文章主要介绍了vue实现一个单独的组件注释,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue2 中使用 render 函数编写组件的方式

    vue2 中使用 render 函数编写组件的方式

    vue提供了声明式编写UI的方式,即vue提供了对DOM进行描述的方式,有两种描述DOM的方式即模板和render 函数,本文通过示例代码介绍vue2 中使用 render 函数编写组件的方式,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • vue+elementUI动态增加表单项并添加验证的代码详解

    vue+elementUI动态增加表单项并添加验证的代码详解

    这篇文章主要介绍了vue+elementUI动态增加表单项并添加验证的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 基于Vue实现页面切换左右滑动效果

    基于Vue实现页面切换左右滑动效果

    这篇文章主要为大家详细介绍了基于Vue实现页面切换左右滑动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Vue结合leaflet实现克里金插值

    Vue结合leaflet实现克里金插值

    本文主要介绍了Vue结合leaflet实现克里金插值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论