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


Posted in Javascript onOctober 29, 2018

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

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

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

方法:排除法

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

初步判断是commit  方法导致的

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总结

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

Javascript 相关文章推荐
jquery插件jbox使用iframe关闭问题
Feb 09 Javascript
jQuery与ExtJS之选择实例分析
Aug 19 Javascript
js判断手机和pc端选择不同执行事件的方法
Jan 30 Javascript
动态加载JavaScript文件的两种方法
Apr 22 Javascript
JS从数组中随机取出几个数组元素的方法
Aug 02 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
浅析JavaScript中的特殊数据类型
Dec 15 Javascript
通过fastclick源码分析彻底解决tap“点透”
Dec 24 Javascript
Vue实现拖放排序功能的实例代码
Jul 08 Javascript
使用webpack搭建vue环境的教程详解
Dec 31 Javascript
VSCode 配置uni-app的方法
Jul 11 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 Javascript
Electron中实现大文件上传和断点续传功能
Oct 28 #Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
Oct 28 #Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 #Javascript
深入浅析javascript函数中with
Oct 28 #Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 #Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 #Javascript
javascript中函数的写法实例代码详解
Oct 28 #Javascript
You might like
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
用PHP实现Ftp用户的在线管理
2012/02/16 PHP
基于php判断客户端类型
2016/10/14 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
JavaScript QueryString解析类代码
2010/01/17 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
移动端界面的适配
2017/01/11 Javascript
JS实现的简单表单验证功能完整实例
2017/10/14 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
python实现简单加密解密机制
2019/03/19 Python
详解python和matlab的优势与区别
2019/06/28 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
python3中编码获取网页的实例方法
2020/11/16 Python
西式婚礼证婚词
2014/01/12 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
社区综治工作汇报
2014/10/27 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
python中的class_static的@classmethod的巧妙用法
2021/06/22 Python